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 相关文章推荐
人大复印资料处理程序_查询篇
Oct 09 PHP
PHP 数组基础知识小结
Aug 20 PHP
PHP中将数组转成XML格式的实现代码
Aug 08 PHP
解析如何在PHP下载文件名中解决乱码的问题
Jun 20 PHP
PHP实现的汉字拼音转换和公历农历转换类及使用示例
Jul 01 PHP
Laravel框架表单验证详解
Sep 04 PHP
PHP动态输出JavaScript代码实例
Feb 12 PHP
PHP版QQ互联OAuth示例代码分享
Jul 05 PHP
ThinkPHP2.x防范XSS跨站攻击的方法
Sep 25 PHP
老生常谈PHP位运算的用途
Mar 12 PHP
thinkPHP事务操作简单案例分析
Oct 17 PHP
PHP配合fiddler抓包抓取微信指数小程序数据的实现方法分析
Jan 02 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 图片上传代码
2011/09/13 PHP
PHP微信开发用Cache 解决数据缓存
2016/07/11 PHP
PHP运行模式汇总
2016/11/06 PHP
jQuery+Ajax+PHP+Mysql实现分页显示数据实例讲解
2015/09/27 Javascript
异步JS框架的作用以及实现方法
2015/10/29 Javascript
jQuery Ajax 全局调用封装实例代码详解
2016/06/02 Javascript
jQuery实现滚动条滚动到子元素位置(方便定位)
2017/01/08 Javascript
使用vue构建一个上传图片表单
2017/07/04 Javascript
JavaScript实现二维坐标点排序效果
2017/07/18 Javascript
Node.JS更改Windows注册表Regedit的方法小结
2017/08/18 Javascript
vue.js学习笔记之v-bind和v-on解析
2018/05/03 Javascript
vue修改对象的属性值后页面不重新渲染的实例
2018/08/09 Javascript
vue插件实现v-model功能
2018/09/10 Javascript
vue项目中实现图片预览的公用组件功能
2018/10/26 Javascript
详解使用Nuxt.js快速搭建服务端渲染(SSR)应用
2019/03/13 Javascript
vue实现图片上传到后台
2020/06/29 Javascript
vue在图片上传的时候压缩图片
2020/11/18 Vue.js
Python使用jsonpath-rw模块处理Json对象操作示例
2018/07/31 Python
pandas通过loc生成新的列方法
2018/11/28 Python
Python通过paramiko远程下载Linux服务器上的文件实例
2018/12/27 Python
Python处理PDF与CDF实例
2020/02/26 Python
Django基于Models定制Admin后台实现过程解析
2020/11/11 Python
video下autoplay属性无效的解决方法(添加muted属性)
2020/05/19 HTML / CSS
澳大利亚家具和家居用品在线:BROSA
2017/11/02 全球购物
英国乐购杂货:Tesco Groceries
2018/11/29 全球购物
比利时的在线灯具店:Lampen24.be
2019/07/01 全球购物
数据库专业英语
2012/11/30 面试题
万户网络JAVA程序员岗位招聘笔试试卷
2013/01/08 面试题
鲜花方阵解说词
2014/02/13 职场文书
个人实习生的自我评价
2014/02/16 职场文书
党委班子对照检查材料
2014/08/19 职场文书
无保留意见审计报告
2015/06/05 职场文书
2015大学迎新标语
2015/07/16 职场文书
导游词之杭州西湖
2019/09/19 职场文书
深入理解python多线程编程
2021/04/18 Python
Nginx如何限制IP访问只允许特定域名访问
2022/07/23 Servers