对于在做php开发项目中,一般的项目设计到最多用到的是Excel的导出功能,而对于其导入功能一般是很少见的,而且对于php开发中Excel的导入功能也要比导出功能开发起来更困难一些,那么今天就来分享一下php开发中Excel导入功能的具体实现步骤:
1、首先将下载下来的PHP Excel插件代码放入项目/Thinkphp/Extend/Vendor/下;
2、在模板添加导入功能;
html代码实现如下:
<form action="{:U(‘Turntable/imports‘)}" enctype="multipart/form-data" method="post">
<input type="file" name="photo" />
<input type="submit" value="导入数据">
</form>
3、控制器调用插件;
php代码如下:
public function imports(){
ini_set(‘memory_limit‘,‘1024M‘);
import(‘ORG.Net.UploadFile‘);
$upload = new UploadFile();
$upload->maxSize = 3145728000 ;// 设置附件上传大小
$upload->allowExts = array(‘xlsx‘,‘xls‘);// 设置附件上传类型
$upload->savePath = ‘./Public/Uploads/xslx/‘;//
// $upload = new \Think\Upload($config);
if (!$upload->upload()) {
error($upload->getErrorMsg());
}else{
$info = $upload->getUploadFileInfo();
}
vendor("PHPExcel.PHPExcel");
$file_name= $upload->savePath.$info[0][‘savename‘];
$extension = strtolower(pathinfo($file_name, PATHINFO_EXTENSION));//判断导入表格后缀格式
if ($extension == ‘xlsx‘) {
$objReader =\PHPExcel_IOFactory::createReader(‘Excel2007‘);
$objPHPExcel =$objReader->load($file_name, $encode = ‘utf-8‘);
} else if ($extension == ‘xls‘){
$objReader =\PHPExcel_IOFactory::createReader(‘Excel5‘);
$objPHPExcel =$objReader->load($file_name, $encode = ‘utf-8‘);
}
$sheet =$objPHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow();//取得总行数
$highestColumn =$sheet->getHighestColumn(); //取得总列数
for ($i = 2; $i <= $highestRow; $i++) {
$data[‘code‘] =$objPHPExcel->getActiveSheet()->getCell("B" . $i)->getValue();
//看这里看这里,这个位置写数据库中的表名
D(‘codes‘)->add($data);
}
$this->success(‘导入成功!‘);
}
好了,相信看到这里大家就明白如何去做了,那么如果还有同学不知道如何去做的话,或者尝试之后发现有问题的话,都可以留言咨询,我们可以共同讨论学习。
本文由专业的郑州app开发公司燚轩科技整理发布,原创不易,尊重编者,如需转载请注明出处!
原文地址:http://blog.51cto.com/13686158/2153328