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


Posted in PHP onApril 22, 2016

本文实例讲述了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框架的PHP程序设计有所帮助。

PHP 相关文章推荐
PHP类的使用 实例代码讲解
Dec 28 PHP
php URL验证正则表达式
Jul 19 PHP
PHP实现的连贯操作、链式操作实例
Jul 08 PHP
php中mail函数发送邮件失败的解决方法
Dec 24 PHP
php利用imagemagick实现复古老照片效果实例
Feb 16 PHP
PHP+Ajax实现的无刷新分页功能详解【附demo源码下载】
Jul 03 PHP
PHP异常处理定义与使用方法分析
Jul 25 PHP
php实现获取近几日、月时间示例
Jul 06 PHP
Laravel5.1框架注册中间件的三种场景详解
Jul 09 PHP
Thinkphp5 如何隐藏入口文件index.php(URL重写)
Oct 16 PHP
如何重写Laravel异常处理类详解
Dec 20 PHP
Thinkphp5+Redis实现商品秒杀代码实例讲解
Dec 29 PHP
利用php输出不同的心形图案
Apr 22 #PHP
php生成酷炫的四个字符验证码
Apr 22 #PHP
ThinkPHP连接Oracle数据库
Apr 22 #PHP
在CentOS系统上从零开始搭建WordPress博客的全流程记录
Apr 21 #PHP
yii2 页面底部加载css和js的技巧
Apr 21 #PHP
yii2整合百度编辑器umeditor及umeditor图片上传问题的解决办法
Apr 20 #PHP
又拍云异步上传实例教程详解
Apr 19 #PHP
You might like
PHP获取毫秒级时间戳的方法
2015/04/15 PHP
jQuery使用手册之三 CSS操作
2007/03/24 Javascript
统一接口:为FireFox添加IE的方法和属性的js代码
2007/03/25 Javascript
扩展jquery实现客户端表格的分页、排序功能代码
2011/03/16 Javascript
js中eval详解
2012/03/30 Javascript
Node.js事件驱动
2015/06/18 Javascript
自己动手写的jquery分页控件(非常简单实用)
2015/10/28 Javascript
CentOS 安装NodeJS V8.0.0的方法
2017/06/15 NodeJs
JS中‘hello’与new String(‘hello’)引出的问题详解
2018/08/14 Javascript
jQuery中getJSON跨域原理的深入讲解
2020/09/02 jQuery
[01:24]DOTA2上海特锦赛OG战队抵达 专车接机入驻总统套房
2016/02/23 DOTA
基于python编写的微博应用
2014/10/17 Python
Python实现针对含中文字符串的截取功能示例
2017/09/22 Python
Win7下Python与Tensorflow-CPU版开发环境的安装与配置过程
2018/01/04 Python
Numpy数组的保存与读取方法
2018/04/04 Python
Python 爬虫之Beautiful Soup模块使用指南
2018/07/05 Python
Python使用pickle模块报错EOFError Ran out of input的解决方法
2018/08/16 Python
python 同时运行多个程序的实例
2019/01/07 Python
Python中Yield的基本用法
2020/10/18 Python
Python中logging日志的四个等级和使用
2020/11/17 Python
Python 实现PS滤镜中的径向模糊特效
2020/12/03 Python
Python爬虫获取op.gg英雄联盟英雄对位胜率的源码
2021/01/29 Python
澳大利亚药房在线:ThePharmacy
2017/10/04 全球购物
现代生活方式的家具和装饰:Dot & Bo
2018/12/26 全球购物
俄罗斯隐形眼镜和眼镜在线商店:Cronos
2020/06/02 全球购物
临床医学应届生求职信
2013/11/06 职场文书
体育老师的教学自我评价分享
2013/11/19 职场文书
计算机专业推荐信范文
2013/11/20 职场文书
陈欧的广告词
2014/03/18 职场文书
会计学自荐信
2014/06/03 职场文书
机械机修工岗位职责
2014/08/03 职场文书
党员四风问题对照检查材料思想汇报
2014/09/16 职场文书
2016廉洁教育心得体会
2016/01/20 职场文书
2016年社区“我们的节日·中秋节”活动总结
2016/04/05 职场文书
Nginx + consul + upsync 完成动态负载均衡的方法详解
2021/03/31 Servers
Redis高并发防止秒杀超卖实战源码解决方案
2021/11/01 Redis