php开发中Excel导入功能的具体实现方法

  对于在做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开发公司燚轩科技整理发布,原创不易,尊重编者,如需转载请注明出处!

猜你喜欢

转载自blog.51cto.com/13686158/2153328
今日推荐