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 25 PHP
浅析PHP水印技术
Feb 14 PHP
php中的MVC模式运用技巧
May 03 PHP
PHP采集腾讯微博的实现代码
Jan 19 PHP
php编写的简单页面跳转功能实现代码
Nov 27 PHP
php图片的二进制转换实现方法
Dec 15 PHP
Laravel中如何增加自定义全局函数详解
May 09 PHP
php之可变函数的实例详解
Sep 13 PHP
实例讲解PHP中使用命名空间
Jan 27 PHP
php curl发送请求实例方法
Aug 01 PHP
PHP使用gearman进行异步的邮件或短信发送操作详解
Feb 27 PHP
tp5.1框架数据库子查询操作实例分析
May 26 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中对数据库操作的封装
2006/10/09 PHP
Ajax PHP分页演示
2007/01/02 PHP
php获取图片信息的方法详解
2015/12/10 PHP
php生成酷炫的四个字符验证码
2016/04/22 PHP
微信小程序发送订阅消息的方法(php 为例)
2019/10/30 PHP
YUI 读码日记之 YAHOO.util.Dom - Part.1
2008/03/22 Javascript
javascript编码的几个方法详细介绍
2013/01/06 Javascript
浅析hasOwnProperty方法的应用
2013/11/20 Javascript
js 获取浏览器版本以此来调整CSS的样式
2014/06/03 Javascript
ff chrome和ie下全局动态定位的异同及全局高度的取法
2014/06/30 Javascript
jQuery中on()方法用法实例
2015/01/19 Javascript
jquery+ajax实现注册实时验证实例详解
2015/12/08 Javascript
总结Javascript中数组各种去重的方法
2016/10/04 Javascript
NodeJS实现微信公众号关注后自动回复功能
2017/05/31 NodeJs
js实现canvas保存图片为png格式并下载到本地的方法
2017/08/31 Javascript
使用watch监听路由变化和watch监听对象的实例
2018/02/24 Javascript
bing Map 在vue项目中的使用详解
2018/04/09 Javascript
Typescript3.9 常用新特性一览(推荐)
2020/05/14 Javascript
2020淘宝618理想生活列车自动领喵币js脚本的代码
2020/06/02 Javascript
简单了解前端渐进式框架VUE
2020/07/20 Javascript
bootstrap-closable-tab可实现关闭的tab标签页插件
2020/08/09 Javascript
vue element el-transfer增加拖拽功能
2021/01/15 Vue.js
Python中threading模块join函数用法实例分析
2015/06/04 Python
对变量赋值的理解--Pyton中让两个值互换的实现方法
2017/11/29 Python
使用Python中的reduce()函数求积的实例
2019/06/28 Python
Python3 venv搭建轻量级虚拟环境的步骤(图文)
2019/08/09 Python
Python编程快速上手——PDF文件操作案例分析
2020/02/28 Python
新手常见Python错误及异常解决处理方案
2020/06/18 Python
JD Sports丹麦:英国领先的运动时尚零售商
2020/11/24 全球购物
广告学专业毕业生自荐信
2013/09/24 职场文书
应届毕业生求职信范文分享
2013/12/26 职场文书
专题组织生活会思想汇报
2014/10/01 职场文书
留学推荐信中文范文
2015/03/26 职场文书
开会通知短信大全
2015/04/20 职场文书
观看禁毒宣传片后的感想
2015/08/11 职场文书
MySQL 计算连续登录天数
2022/05/11 MySQL