基于ThinkPHP开发的PHPExcel导入
首先,我们还是要导入PHPExcel类文件。。。至于怎么导入。可以参考我写的导出的那篇文章(http://www.cnblogs.com/hopelooking/p/6230303.html)
但是我们在做导入功能的时候用到的类文件可不是导出时用到的那个类文件,但是文件夹一层包一层,没办法那样一个一个引用,还好,有一个文件

也就是我们做导出的时候用到的这个文件,这个文件里面有几行代码我们有没有注意到???

多了一行加载的文件!
是的,这个就是我们在做导入的时候需要的类文件
做完这一步以后其实还是有很多的bug需要我们调试一下的
运行的时候会报错
这个里面的PHPExcel没有找到
进去文件目录一看才发现实例化的时候失败了,那是因为文件路径的问题
还记得我们刚开始在控制器里面实例化的时候用到的路径吗?
我们直接用这样的方式就可以
有好几个文件报错,全部采用这种方式就可以了!
好了,我们下载的类文件现在经过调试已经完全适应了这个框架了!接下来就要实现代码了!
/*
*excel导入
**/
public function ExcelIn(){
header("Content-type: text/html; charset=utf-8");//防止乱码
$file = $_FILES;//接收文件
$filename = $file['xls']['tmp_name'];//这里其实文件已经传过来了存放到了临时路径,所以我们必须要获取的是临时存放路径
$PHPExcel = new \Org\Excel\PHPExcel();//因为我们是在一个类文件加载的同级文件夹的其他类文件,所以选择了包含文件,所以必须实例化包含我们要用的那个文件的文件
$objPHPExcel = \PHPExcel_IOFactory::load($filename);//加载接收文件的内容
$sheetCount = $objPHPExcel->getSheetCount();//获取excel文件里面有多少个sheet
//注意,sheet的下标是从0开始,下边的这个for循环是针对一个或者多个sheet而言设计的,通用
for($i=0;$i<$sheetCount;$i++){
$data = $objPHPExcel->getSheet($i)->toArray();//读取每一个sheet里面的数据并且放入到一个数组中
unset($data[0]);
//循环遍历入库
foreach($data as $key=>$v){
$loan = M("loan");
$da['corporate'] = $v[1];
$da['img'] = $v[2];
//。。。还可以写很多你想要的数据
$loan->add($da);
}
}
}
导入的代码相对来讲还是比较简单的!
解释:

为什么会销毁数组中的某一个数组?这是因为我们删除的是表格中第一行的标题,因为这个东西不是有效数据

没错,数组中第一个数组就是绿背景的内容,这些数据我们是不需要入库的,所以要删掉
接下来就是循环遍历入库了。。。便可以自由发挥了!
基于ThinkPHP开发的PHPExcel导入的更多相关文章
- 基于ThinkPHP开发的PHPExcel导出
首先我们需要去PHPExcel官网下载开源包 下载好了以后只需要把里面的classes文件夹解压出来就可以用了! 在ThinkPHP中,文件的命名空间还是很重要的,我试着按照其他的第三方命名写name ...
- thinkphp中使用PHPEXCEL导入数据
导入方法比较简单 但必须考虑到Excel本身单元格格式问题 例如以0开头的字符串读出来被去掉了前导0 成为float型而丢失一位 必须进行处理 <?php /** * Author lizhao ...
- 基于thinkphp开发的项目部署到由宝塔面板创建的LNMP服务器上解决路径出错问题
一. 环境与版本: 主机:amazon aws EC2主机 系统:Ubuntu 18.04.2 LTS (GNU/Linux 4.15.0-1039-aws x86_64) 面板:宝塔免费版 6.9. ...
- 齐博软件 著名的老牌CMS开源系统 X1.0基于thinkphp开发的高性能免费开源PHP开放平台齐博x1.0基于thinkphp框架开发的高性能免费开源系统 主推圈子 论坛 预定拼团分销商城模块
齐博X1--标签变量大全 1.网站名称: {$webdb.webname} 2.网址: {$webdb[www_url]} {:get_url('home')} 3.网站SEO关键词: 首页:{$we ...
- 一个基于thinkphp的微信授权登陆功能
共享一份基于thinkphp开发的用户授权登陆的功能代码,本实例使用thinkphp的第三方微信公众平台PHP-SDK,地址https://github.com/dodgepudding/wechat ...
- SEO之基于thinkphp的URL伪静态
最近基于thinkphp开发了个导购网站,现在有时间,将遇到的伪静态问题整理下,与大家分享.1.设置URL伪静态在config.ini.php中设置,如果只想前台URL伪静态,那么只在前台的confi ...
- Thinkphp 用PHPExcel 导入Excel
搞了个简单的Excel导入, 用的是PHPExcel(百科:用来操作Office Excel文档的一个PHP类库, 基于微软的OpenXML标准和PHP语言) 好, 不说了, 开始吧... 首先得有P ...
- thinkphp phpexcel导入
上次做了一个基于tp3.2.3的phpexcel导出,这次是phpexcel导入,准备材料phpexcel(不知道下载地址的查看我上一篇博文),虽说是基于thinkphp3.2.3来的,也只不过是引入 ...
- thinkphp整合系列之phpexcel导入excel数据
一:导入phpexcel /ThinkPHP/Library/Vendor/PHPExcel 二:导入excel的函数 /** * 导入excel文件 * @param string $file ex ...
随机推荐
- myBatis的一对多查询,主要利用resultMap实现一次查询多个结果集
日常开发中有这中场景,一个用户有多个角色,一个角色又有多个菜单,想查出一个用户的所有菜单.除了常见的关联查询之外,更使用的应该是利用myBatis的resultMap来实现一次查询出多个结果集,缺点: ...
- web项目存数据到数据库,中文乱码,解决过程
first: 排查原因: 打断点,查看到底是在执行存数据库操作之前就已经乱码了,还是存数据库操作后乱码的. 前者解决方案: 在web.xml里面加上: <filter> <filte ...
- PHP 使用 password_hash() 给密码加密
PHP >= 5.5 时,可以使用 password_hash() 和 password_verify() 来对用户的密码进行加密和验证,例如在用户注册(加密存储)和登陆(验证): <?p ...
- MVC第二天
一.过滤器filter 注意:如果继承自接口需要让类实现FilterAttribute,才可以作为特性使用使用方式1:作为Controller或Action的特性使用方式2:在Global中注册为全局 ...
- LoadRunner - 001
lr_eval_string():函数的主要作用:返回脚本中的一个参数当前的值,返回值类型:char一般多用在调试脚本时输出参数的值.具体用法如下:lr_output_message("Th ...
- [bzoj1072] [SCOI2007]排列perm
有一种暴力算法就是直接枚举. 正解就是状压dp 令f[i][j]:i:使用的数位的状态j:当前的模数 边界:f[0][0] = 1; f[i|1<<k][j*10+k % n] += f[ ...
- Week 1:2015/4/27~2015/5/3
Update everyday.(Last edit:4/30 01:00) Task 1:TPO X 2.5(finish 1,then finish 2 more) Task 2:TC Tarja ...
- win7 将所有 视图 改为 '详细信息'
1.随便进入某个文件夹->(菜单栏中)查看->选'详细信息' 2.(菜单栏中)工具->文件夹选项->查看->'应用到文件夹'
- UML序列图总结(Loop、Opt、Par和Alt)
序列图主要用于展示对象之间交互的顺序. 序列图将交互关系表示为一个二维图.纵向是时间轴,时间沿竖线向下延伸.横向轴代表了在协作中各独立对象的类元角色.类元角色用生命线表示.当对象存在时,角色用一条虚线 ...
- 《Linux及安全》实践2
<Linux及安全>实践2 [edited by 5216lwr] 一.Linux基本内核模块 1.1理解什么是内核模块 linux模块是一些可以作为独立程序来编译的函数和数据类型的集合. ...