(超级详细版)利用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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • HibernateTemplate详解

    HibernateTemplate详解HibernateTemplate提供非常多的常用方法来完成基本的操作,比如通常的增加、删除、修改、查询等操作,Spring2.0更增加对命名SQL查询的支持,也增加对分页的支持。大部分情况下,使用Hibernate的常规用法,就可完成大多数DAO对象的CRUD操作。下面是HibernateTemplate的常用方法简介:qvoiddelete(Objectentity):删除指定持久化实

    2022年6月18日
    26
  • 开启QQ登录保护仍被盗号——QQ安全机制全面分析[通俗易懂]

    开启QQ登录保护仍被盗号——QQ安全机制全面分析[通俗易懂]1、前言周围总是有些同学QQ被盗号,攻击者盗取账号后会继续去欺骗列表里的好友,形成链式反应。危害比较大。腾讯QQ安全中心提供了登录保护机制,如图:  这是腾讯为QQ添加第二层保护,在开启登录保护后,盗号者偷走密码的情况下QQ仍然安全。即使你的账号密码不小心泄露了,盗号者仍旧无法登录你的QQ。  但是,有位同学在开启QQ登录保护的情况下依然被盗号者登录成功了。QQ登录保护的安全机制:当我们开启了“登录保护”,盗号者登录QQ输入正确的密码,即使更换IP骗过了安全检测系统,会发现仍然需要

    2022年6月22日
    311
  • JavaScript 匿名函数几种执行方式[通俗易懂]

    JavaScript 匿名函数几种执行方式[通俗易懂]参考1、javascript自执行匿名函数  http://blog.csdn.net/jbgtwang/article/details/6608265其中说到了self-executinganonymousfunctions,有几种方式,最常见也比较容易理解的是:(function(){//dosomethinghere;})();格式:     (fun

    2022年10月3日
    3
  • JavaScript高级程序设计 第4版(中文高清)扫描版

    JavaScript高级程序设计 第4版(中文高清)扫描版核心ECMAScript文档对象模型DOM浏览器对象模型BOMECMAScript定义语言的基础规定了语言的组成部分:语法、类型、语句、关键字、保留字、操作符、对象

    2022年8月20日
    7
  • pycharm的安装选项_tomcat环境配置

    pycharm的安装选项_tomcat环境配置pycharm安装以及其环境的配置说明此次我们使用win10系统安装pycharm的64位社区版,并且对Anaconda3中自带的Python3进行环境的配置,如果您没有Anaconda3甚至是没有Python3环境,可以参考Anaconda3安装教程及说明,如果您的pip源未更改,这里推荐您改为使用国内的pip源,这样可以更快的下载组件,方法见修改pip源至国内镜像网站。教程从开始菜单中找到你的AnacondaPrompt并打开…

    2022年8月29日
    4
  • 最新Android基础入门教程目录(完结版)

    最新Android基础入门教程目录(完结版)第一章:环境搭建与开发相关(已完结10/10)https://blog.csdn.net/coder_pig/article/details/50000773Android基础入门教程——1.1背景相关与系统架构分析Android基础入门教程——1.2开发环境搭建Android基础入门教程——1.2.1使用Eclipse+ADT+SDK开发AndroidAPPAndroid基础入…

    2022年6月12日
    28

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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