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中利用XML技术构造远程服务(下)
Oct 09 PHP
一次编写,随处运行
Oct 09 PHP
WordPress判断用户是否登录的代码
Mar 17 PHP
解决PHP mysql_query执行超时(Fatal error: Maximum execution time …)
Jul 03 PHP
Laravel 5.0 发布 新版本特性详解
Feb 10 PHP
PHP微信开发之查询城市天气
Jun 23 PHP
Yii2基于Ajax自动获取表单数据的方法
Aug 10 PHP
总结对比php中的多种序列化
Aug 28 PHP
Yii2第三方类库插件Imagine的安装和使用
Jul 06 PHP
php脚本守护进程原理与实现方法详解
Jul 20 PHP
PHP学习笔记之session
May 06 PHP
PHP基于rabbitmq操作类的生产者和消费者功能示例
Jun 16 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
在WINDOWS中设置计划任务执行PHP文件的方法
2011/12/19 PHP
PHP PDOStatement::getAttribute讲解
2019/02/01 PHP
JavaScript中的私有成员
2006/09/18 Javascript
javascript js cookie的存储,获取和删除
2007/12/29 Javascript
JS控制网页动态生成任意行列数表格的方法
2015/03/09 Javascript
JSON遍历方式实例总结
2015/12/07 Javascript
浅析jquery数组删除指定元素的方法:grep()
2016/05/19 Javascript
使用get方式提交表单在地址栏里面不显示提交信息
2017/02/21 Javascript
基于bootstrap实现bootstrap中文网巨幕效果
2017/05/02 Javascript
JS Testing Properties 判断属性是否在对象里的方法
2017/10/01 Javascript
简单的React SSR服务器渲染实现
2018/12/11 Javascript
JS执行控制之节流模式实例分析
2018/12/21 Javascript
浅谈Vue.set实际上是什么
2019/10/17 Javascript
element-ui和vue表单(对话框)验证提示语(残留)清除操作
2020/09/11 Javascript
elementui实现预览图片组件二次封装
2020/12/29 Javascript
python实现备份目录的方法
2015/08/03 Python
Python Socket编程详细介绍
2017/03/23 Python
Python实现随机选择元素功能
2017/09/14 Python
破解安装Pycharm的方法
2018/10/19 Python
关于numpy中eye和identity的区别详解
2019/11/29 Python
Python导入数值型Excel数据并生成矩阵操作
2020/06/09 Python
解决python便携版无法直接运行py文件的问题
2020/09/01 Python
html5启动原生APP总结
2020/07/03 HTML / CSS
联强国际笔试题面试题
2013/07/10 面试题
大学生最常用的自我评价
2013/12/07 职场文书
申报职称专业技术个人的自我评价
2013/12/12 职场文书
《阳光》教学反思
2014/02/23 职场文书
应届毕业生求职信
2014/05/26 职场文书
总经理任命书范本
2014/06/05 职场文书
国家税务局干部作风整顿整改措施
2014/09/18 职场文书
经理岗位职责
2015/02/02 职场文书
2015年机关后勤工作总结
2015/05/26 职场文书
七年级写作指导之游记作文
2019/10/07 职场文书
python - timeit 时间模块
2021/04/06 Python
MySQL 常见的数据表设计误区汇总
2021/06/07 MySQL
关于python3 opencv 图像二值化的问题(cv2.adaptiveThreshold函数)
2022/04/04 Python