首页 > WEB开发 > 代码 > PHP Excel导入多表
2015
07-23

PHP Excel导入多表

//参数初始化
        $filePath = '';
  
        if ($_FILES["file"]["error"] > 0) {
            returnJSON(ERROR_INVALID, $_FILES["file"]["error"]);
        }
  
        $filePath = $_FILES["file"]["tmp_name"];
  
        //建立reader对象
        $this->load->library('PHPExcel');
        $PHPReader = new PHPExcel_Reader_Excel2007();
        if (!$PHPReader->canRead($filePath)) {//如果不是excel2007,尝试使用excel5
            $PHPReader = new PHPExcel_Reader_Excel5();
            if (!$PHPReader->canRead($filePath)) {
                returnJSON(ERROR_INVALID, 'excel not existing');
            }
        }
  
        //建立excel对象,此时你即可以通过excel对象读取文件,也可以通过它写入文件
        $PHPExcel = $PHPReader->load($filePath);
  
        //导入第一个工作表的数据
        $this->db->truncate('dzg_card_info'); //清理表
        $currentSheet = $PHPExcel->getSheet(0); //读取excel文件中的第一个工作表
        $columnCount = $currentSheet->getHighestColumn(); //取得最大的列号
        $rowCount = $currentSheet->getHighestRow(); //取得一共有多少行
        for ($rowIndex = 2; $rowIndex <= $rowCount; $rowIndex++) {
            $name = iconv('utf-8', 'gbk', $currentSheet->getCell('B' . $rowIndex)->getValue());
            $skill = iconv('utf-8', 'gbk', $currentSheet->getCell('C' . $rowIndex)->getValue());
            $create_time = iconv('utf-8', 'gbk', $currentSheet->getCell('D' . $rowIndex)->getValue());
            $this->admin_model->insertCardInfo($name, $skill, $create_time);
        }
  
        //导入第二个工作表
        $this->db->truncate('dzg_card_message'); //清理表
        $currentSheet = $PHPExcel->getSheet(1); //读取excel文件中的第一个工作表
        $columnCount = $currentSheet->getHighestColumn(); //取得最大的列号
        $rowCount = $currentSheet->getHighestRow(); //取得一共有多少行
        for ($rowIndex = 2; $rowIndex <= $rowCount; $rowIndex++) {
            $uid = iconv('utf-8', 'gbk', $currentSheet->getCell('B' . $rowIndex)->getValue());
            $message = iconv('utf-8', 'gbk', $currentSheet->getCell('C' . $rowIndex)->getValue());
            $this->admin_model->insertCardMsg($uid, $message);

}

<form action="index.php?c=admin&m=importExcel&d=admin"method="post"enctype="multipart/form-data">
	<labelfor="file">导入excel:</label>
	<input type="file"name="file"id="file"/>
	<input type="submit"name="submit"value="提交"/>
</form>

编程技巧