thinkPHP5.0 使用PHPExcel导出Excel文件

首先下载PHPExcel类。网上很多,自行下载。

我下载的跟composer下载的不太一样。我下载的是


 
下载存放目录.jpg

而composer下载的是:

 
composer下载.jpg

本篇使用的是第一种。所以下载请下载对应的。

前端代码:
<form action="ADMIN_MAIN/Excel/out" enctype="multipart/form-data" method="post">
    <input type="submit" value="导出"> </form> 
创建Excel控制器和out方法:

首先use两个类,否则会报错:

use PHPExcel_IOFactory;
use PHPExcel; 
然后引入vendor里面的PHPExcel类:
vendor("PHPExcel.PHPExcel.PHPExcel"); vendor("PHPExcel.PHPExcel.Writer.Excel5"); vendor("PHPExcel.PHPExcel.Writer.Excel2007"); vendor("PHPExcel.PHPExcel.IOFactory"); 

一般引用vendor里面的类或者插件用vendor();
里面加载的就是vendor文件,然后想要加载哪个文件,直接写就行,中间的“.”相当于文件路径的“/”。
例如加载excel5这个文件:

 
加载.jpg

最后不写php。这样就加载进来了。
接下来实例化类时候,一定要加“\”。


 
控制器.jpg
实例化完了之后就先把数据库里面的数据查出来:

$sql = db('sys_user')->select();

有了数据,就可以设置Excel表的表头信息了:
 /*--------------设置表头信息------------------*/
        $objPHPExcel->setActiveSheetIndex(0)
            ->setCellValue('A1', 'ID编号') ->setCellValue('B1', '用户名') ->setCellValue('C1', '手机号'); 

这里的A1,B1是A列第一行。以此类推,就是表头了,想要哪些信息就写什么,只要数据库有,接下来可以对的上就行。

接下来就是查到的信息,对号入座到表格中:
 /*--------------开始从数据库提取信息插入Excel表中------------------*/


        $i=2;  //定义一个i变量,目的是在循环输出数据是控制行数
        $count = count($sql);  //计算有多少条数据 for ($i = 2; $i <= $count+1; $i++) { $objPHPExcel->getActiveSheet()->setCellValue('A' . $i, $sql[$i-2][uid]); $objPHPExcel->getActiveSheet()->setCellValue('B' . $i, $sql[$i-2][user_name]); $objPHPExcel->getActiveSheet()->setCellValue('C' . $i, $sql[$i-2][user_tel]); 

$i = 2,因为第一行是表头,所以写到表格时候只能从第二行开始写。
然后for循环。不知道的,我也无能为力。

接下来就是设置导入表的名称等内容了
 /*--------------下面是设置其他信息------------------*/

        $objPHPExcel->getActiveSheet()->setTitle('user');      //设置sheet的名称
        $objPHPExcel->setActiveSheetIndex(0); //设置sheet的起始位置 $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); //通过PHPExcel_IOFactory的写函数将上面数据写出来 $PHPWriter = \PHPExcel_IOFactory::createWriter( $objPHPExcel,"Excel2007"); header('Content-Disposition: attachment;filename="用户信息.xlsx"'); header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); $PHPWriter->save("php://output"); //表示在$path路径下面生成demo.xlsx文件 

到这里,数据导出已经完成

 
下载完成.jpg
 
内容.jpg



原文:https://www.jianshu.com/p/6684cfb61a99

转载于:https://www.cnblogs.com/showcase/p/10894159.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值