Thinkphp5集成PHPExcel

浏览:35673 发布日期:2017/02/11 分类:用法示例 关键字: Thinkphp5 PHPExcel
最近在鼓捣PHPExcel,找了很久都没有找到合适的TP5整合教程,最后在慕课网搜到一个视频教程,再结合自己的理解,弄出一个自己觉得TP5适用的,没写过文章,自己摸索的时候感觉走了很多弯路,所以拿出来分享一下,写的不好请包涵
一、安装PHPExcel
网上很多版本都说要先从官网下载PHPExcel,然后放到vendor目录,这是TP5以前版本的用法。TP5版本直接可以使用composer安装(composer这一块不会的自己去找教程):
composer require phpoffice/phpexcel
非常方便。
二、页面引入
use PHPExcel_IOFactory;
use PHPExcel;
三、使用实例
1、简单的保存Excel文件demo       public function test(){
  $path = dirname(__FILE__); //找到当前脚本所在路径
  $PHPExcel = new PHPExcel(); //实例化PHPExcel类,类似于在桌面上新建一个Excel表格
  $PHPSheet = $PHPExcel->getActiveSheet(); //获得当前活动sheet的操作对象
  $PHPSheet->setTitle(‘demo’); //给当前活动sheet设置名称
  $PHPSheet->setCellValue(‘A1’,’姓名’)->setCellValue(‘B1’,’分数’);//给当前活动sheet填充数据,数据填充是按顺序一行一行填充的,假如想给A1留空,可以直接setCellValue(‘A1’,’’);
  $PHPSheet->setCellValue(‘A2’,’张三’)->setCellValue(‘B2’,’50’);
  $PHPWriter = PHPExcel_IOFactory::createWriter($PHPExcel,’Excel2007’);//按照指定格式生成Excel文件,‘Excel2007’表示生成2007版本的xlsx,
  $PHPWriter->save($path.’/demo.xlsx’); //表示在$path路径下面生成demo.xlsx文件
}
注:$PHPSheet->fromArray($array)为直接加载数组数据来填充数据,但是假如数据量大的时候会很占内存,同时因为是批量插入数据,所以不利于我们控制样式以及编辑

2、导出Excel,浏览器本地保存       public function test(){
  $path = dirname(__FILE__); //找到当前脚本所在路径
  $PHPExcel = new PHPExcel(); //实例化PHPExcel类,类似于在桌面上新建一个Excel表格
  $PHPSheet = $PHPExcel->getActiveSheet(); //获得当前活动sheet的操作对象
  $PHPSheet->setTitle(‘demo’); //给当前活动sheet设置名称
  $PHPSheet->setCellValue(‘A1’,’姓名’)->setCellValue(‘B1’,’分数’);//给当前活动sheet填充数据,数据填充是按顺序一行一行填充的,假如想给A1留空,可以直接setCellValue(‘A1’,’’);
  $PHPSheet->setCellValue(‘A2’,’张三’)->setCellValue(‘B2’,’50’);
  $PHPWriter = PHPExcel_IOFactory::createWriter($PHPExcel,’Excel2007’);//按照指定格式生成Excel文件,‘Excel2007’表示生成2007版本的xlsx,‘Excel5’表示生成2003版本Excel文件
  header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');//告诉浏览器输出07Excel文件
//header('Content-Type:application/vnd.ms-excel');//告诉浏览器将要输出Excel03版本文件
        header('Content-Disposition: attachment;filename="01simple.xlsx"');//告诉浏览器输出浏览器名称
        header('Cache-Control: max-age=0');//禁止缓存
        $PHPWriter->save("php://output");
}
后续更新ing
评论( 相关
后面还有条评论,点击查看>>