thinkPHP实现将excel导入到数据库中的方法

5年以前  |  阅读数:361 次  |  编程语言:PHP 

本文实例讲述了thinkPHP实现将excel导入到数据库中的方法。分享给大家供大家参考,具体如下:

PHPExcel插件可点击此处本站下载

这里使用的是thinkphp框架的3.1版本,下载好压缩包,框架中的extend中的vendor文件夹中新建一个名为PHPExcel的文件夹,把classes里面的内容放到里面

下面是前端页面

提示:我在测试的时候遇到报错exception 'PHPExcel_Reader_Exception' with message 'The filename

原因是由于excel的文件后缀可能不同,我的文件后缀是xlsx,然后给把他另存为了xls的文件,就可以了


    <html>
     <head>
     </head>
     <body>
      <form action="{pigcms::U('Jdb/abcdefgwulisuibian')}" method="post" enctype="multipart/form-data">
       <input type="file" name="import"/>
       <input type="hidden" name="table" value="tablename"/>
       <input type="submit" value="导入"/>
      </form>
     </body>
    </html>

下面是php的


    function abcdefgwulisuibianuplod(){
      $this->display();//显示页面
    }
    function abcdefgwulisuibian(){
      if (!empty($_FILES)) {
       import("@.ORG.UploadFile");
       $config=array(
        'allowExts'=>array('xlsx','xls'),
        'savePath'=>'./Public/upload/',
        'saveRule'=>'time',
       );
       $upload = new UploadFile($config);
       if (!$upload->upload()) {
        $this->error($upload->getErrorMsg());
       } else {
        $info = $upload->getUploadFileInfo();
       }
       vendor("PHPExcel.PHPExcel");
        $file_name=$info[0]['savepath'].$info[0]['savename'];
        $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['lianjieid'] = $objPHPExcel->getActiveSheet()->getCell("A".$i)->getValue();//数据库字段和excel列相对应
         $data['yaoqingma'] = $objPHPExcel->getActiveSheet()->getCell("B".$i)->getValue();
         $data['dlmima']= $objPHPExcel->getActiveSheet()->getCell("C".$i)->getValue();
         $data['ljdizhi']= $objPHPExcel->getActiveSheet()->getCell("D".$i)->getValue();
         M('jdb')->add($data);//插入数据库
        }
         $this->success('导入成功!');
      }else
       {
        $this->error("请选择上传的文件");
       }
    }

更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《ThinkPHP常用方法总结》、《smarty模板入门基础教程》及《PHP模板技术总结》。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例