PHP Excel导入多表(php面试题)

网友投稿 737 2022-07-29

//参数初始化

PHP Excel导入多表(php面试题)

$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);

}

导入excel:

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:PHP 多维数组进行排序(php连接mysql)
下一篇:php 备份数据库类(php面试题)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~