(超级详细版)利用ThinkPHP3.2.3+PHPExcel实现将表格数据导入到数据库

(超级详细版)利用ThinkPHP3.2.3+PHPExcel实现将表格数据导入到数据库

请先阅读以下步骤再到结尾下载源码

 

第一步:下载 thinkphp_3.2.3 和 PHPExcel_1.8.0 并解压

对应的网站分别为:
http://www.thinkphp.cn/down.html
https://github.com/PHPOffice/PHPExcel
 

第二步:  

        ①将解压出来的ThinkPHP文件拷贝到网站根目录
②并创建index.php 代码如下
 
(超级详细版)利用ThinkPHP3.2.3+PHPExcel实现将表格数据导入到数据库
 

第三步:

①在ThinkPHP\Library\Vendor目录下新建文件夹PHPExcel
②将PHPExcel_1.8.0_doc\Classes中的文件拷贝到ThinkPHP\Library\Vendor\
PHPExcel中
 
(超级详细版)利用ThinkPHP3.2.3+PHPExcel实现将表格数据导入到数据库
 

第四步:

①运行根目录的index.php文件,并手动创建Public文件夹

ThinkPHP欢迎界面:

(超级详细版)利用ThinkPHP3.2.3+PHPExcel实现将表格数据导入到数据库
根目录结构:
 
(超级详细版)利用ThinkPHP3.2.3+PHPExcel实现将表格数据导入到数据库
②Application目录如下:
 
(超级详细版)利用ThinkPHP3.2.3+PHPExcel实现将表格数据导入到数据库
 

第五步:ThinkPHP连接我们的mysql数据

 
文件位置 : 根目录/Application/Home/Conf/config.php
 
(超级详细版)利用ThinkPHP3.2.3+PHPExcel实现将表格数据导入到数据库
 

第六步:在“Application\Home\View”视图文件夹中  创建一个文件夹”Index” (注意大小写),并在该文件夹中创建一个index.html的文件

(超级详细版)利用ThinkPHP3.2.3+PHPExcel实现将表格数据导入到数据库
代码:
 
 <!DOCTYPE html>
 <html lang=”en”>
 <head>
  <meta charset=”UTF-8″>
  <title>Document</title>
 </head>
 <body>
  <form action=”{:U(‘upload’)}” enctype=”multipart/form-data” method=”post”>
<input type=”file”name=”photo” />
<input type=”submit”value=”导入数据”>
 </body>
 </html>
 

第七步:修改Application\Home\Controller目录下的IndexController.class.php文件

(超级详细版)利用ThinkPHP3.2.3+PHPExcel实现将表格数据导入到数据库
 
 
(超级详细版)利用ThinkPHP3.2.3+PHPExcel实现将表格数据导入到数据库
 
(超级详细版)利用ThinkPHP3.2.3+PHPExcel实现将表格数据导入到数据库
 
代码如下:
<?php
namespace Home\Controller;
use Think\Controller;
use PHPExcel_IOFactory;
use PHPExcel;
use Behavior;
class IndexController extends Controller {

public function index(){

$this->display();
}
public function upload() {

ini_set(‘memory_limit’,’1024M’);
if (!empty($_FILES)) {

$config = array(
‘exts’ => array(‘xlsx’,’xls’),
‘maxSize’ => 3145728000,
‘rootPath’ =>”./Public/”,
‘savePath’ => ‘Uploads/’,
‘subName’ => array(‘date’,’Ymd’),
);
$upload = new \Think\Upload($config);
if (!$info = $upload->upload()) {

$this->error($upload->getError());
}
vendor(“PHPExcel.PHPExcel”);
$file_name=$upload->rootPath.$info[‘photo’][‘savepath’].$info[‘photo’][‘savename’];
$extension = strtolower(pathinfo($file_name, PATHINFO_EXTENSION));//判断导入表格后缀格式
if ($extension == ‘xlsx’) {

$objReader =\PHPExcel_IOFactory::createReader(‘Excel2007’);
$objPHPExcel =$objReader->load($file_name, $encode = ‘utf-8’);
} else if ($extension == ‘xls’){

$objReader =\PHPExcel_IOFactory::createReader(‘Excel5’);
$objPHPExcel =$objReader->load($file_name, $encode = ‘utf-8’);
}
$sheet =$objPHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow();//取得总行数
$highestColumn =$sheet->getHighestColumn(); //取得总列数
D(‘pro_info’)->execute(‘truncate table pro_info’);
for ($i = 2; $i <= $highestRow; $i++) {

//看这里看这里,前面小写的a是表中的字段名,后面的大写A是excel中位置
$data[‘pId’] =$objPHPExcel->getActiveSheet()->getCell(“A” . $i)->getValue();
$data[‘pName’] =$objPHPExcel->getActiveSheet()->getCell(“B” .$i)->getValue();
$data[‘pPrice’] =$objPHPExcel->getActiveSheet()->getCell(“C” .$i)->getValue();
$data[‘pCount’] = $objPHPExcel->getActiveSheet()->getCell(“D”. $i)->getValue();
//看这里看这里,这个位置写数据库中的表名

D(‘pro_info’)->add($data);
}
$this->success(‘导入成功!’);
} else {

$this->error(“请选择上传的文件”);
}
}
}

 

第八步:运行ThinkPHP,导入excel文件

(超级详细版)利用ThinkPHP3.2.3+PHPExcel实现将表格数据导入到数据库   
excel文件内容(根据数据库来):
(超级详细版)利用ThinkPHP3.2.3+PHPExcel实现将表格数据导入到数据库
数据库结构:(超级详细版)利用ThinkPHP3.2.3+PHPExcel实现将表格数据导入到数据库
 

最后—-大功告成!!

(超级详细版)利用ThinkPHP3.2.3+PHPExcel实现将表格数据导入到数据库(超级详细版)利用ThinkPHP3.2.3+PHPExcel实现将表格数据导入到数据库
 

##源码下载地址

https://blog.csdn.net/yssong1028/article/details/75913317

 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/113274.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • hdu 1215 七夕节

    hdu 1215 七夕节

  • Linux下重启tomcat

    linux重启tomcat命令1,进入到tomcat的bin目录下使用ls命令,查看自己的目录文件cd/opt/tomcat_test/bin/(cd后面接自己的环境目录)2、启动tomcat运行bin目录下的启动命令脚本shstartup.sh或者./startup.sh这样tomcat就启用了3.查看tomcat进程是否启动使用psaux|greptomca…

  • 加密卡华为怎么模拟_华为手机怎么复制加密NFC门卡?「建议收藏」

    加密卡华为怎么模拟_华为手机怎么复制加密NFC门卡?「建议收藏」原标题:华为手机怎么复制加密NFC门卡?“极客谈科技”,全新视角、全新思路,伴您遨游神奇的科技世界。虽然NFC已经成为了中高端手机的标配之一,但是很多人对于什么是NFC,NFC究竟有哪些作用并不是十分清楚。NFC是一种近距离的无线传输技术,可以通过配套芯片来读取相关的数据,从而实现数据交互的目的,通常的应用有地铁、公交刷卡、POS机付款、门禁卡等。今天,我们主要来谈谈华为手机如何通过NFC的功能来…

  • ArrayList 和 LinkedList[通俗易懂]

    ArrayList 和 LinkedList[通俗易懂]ArrayList 和 LinkedList

  • hadoop生态圈相关技术_hadoop的生态

    hadoop生态圈相关技术_hadoop的生态装完hadoop2.6.0-cdh5.5.2后put命令不好使,并且装完hive后导入本地数据也报错,put命令一直报这个错:hadoop@debian:~$hadoopfs-puthe.tt/aaa17/01/0223:37:52WARNhdfs.DFSClient:DataStreamerExceptionorg.apache.hadoop.ipc.RemoteE

    2022年10月30日
  • 软件测试黑盒用例文档,看完这篇黑盒测试用例编写教程,我豁然开朗

    软件测试黑盒用例文档,看完这篇黑盒测试用例编写教程,我豁然开朗测试用例编写是软件测试的基本技能;也有很多人认为测试用例是软件测试的核心;软件测试中最重要的是设计和生成有效的测试用例;测试用例是测试工作的指导,是软件测试的必须遵守的准则。在这里我们不讨论以上的各种观点,但是综上所述,大家可以看出,测试用例编写这项软技能非常重要且是测试人的必备技能,相信很多人没有质疑。下面我们介绍下测试用例编写。我们将用例编写分为黑盒用例编写和白盒用例编写两大类。总体编写思路:…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号