laravelexcel里面能用phpexcel的方法么

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了laravelexcel里面能用phpexcel的方法么相关的知识,希望对你有一定的参考价值。

参考技术A 举个例子:
class Mytest
function ccc($str)
echo $str;


Mytest::ccc("123456");
$object = new Mytest();
$object->ccc("123456");

基于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);
}
}

}


导入的代码相对来讲还是比较简单的!

解释:

技术图片

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

技术图片

没错,数组中第一个数组就是绿背景的内容,这些数据我们是不需要入库的,所以要删掉

 

接下来就是循环遍历入库了。。。便可以自由发挥了!

以上是关于laravelexcel里面能用phpexcel的方法么的主要内容,如果未能解决你的问题,请参考以下文章

laravel框架excel 的导入导出功能

PHPExcel 错误,我是要用PHPExcel从数据库里导出到Excel里面,提示错误~!

thinkphp5 使用PHPExcel 导入导出

Laravel Excel 实现 Excel-CSV 文件导入导出功能

PHP操作Excel – PHPExcel 基本用法

phpexcel中文手册