1.当然是下载PHPexcel的插件了    http://phpexcel.codeplex.com/

2.应用插件 我把插件和需要用到的excel模板放的是不同文件夹的,excel我放在public下的upload文件夹里,excel插件我放在vendor文件里

3.控制器的引用方法,这些应该是必须的

注:因为我用的是thinkcmf5,里面有自带的phpexcel的方法,所以你们用其他框架的我不知道可不可以用,如果不可以用,请把Loader改为

1 vendor('PHPExcel.Classes.PHPExcel');
2 vendor('PHPExcel.Classes.PHPExcel.IOFactory.PHPExcel_IOFactory');

上面的如果读不出来,可能就是里面的路径没写对

 1   $dir = 'upload/';         //模板存放目录
 2             $templateName = 'account.xlsx';             //模板表
 3             $path = dirname(__FILE__);               //找到当前脚本所在路径
 4             Loader::import('PHPExcel.Classes.PHPExcel');
 5             Loader::import('PHPExcel.Classes.PHPExcel.IOFactory.PHPExcel_IOFactory');
 6
 7             $PHPExcel = new \PHPExcel();
 8             $PHPReader = new \PHPExcel_Reader_Excel2007();
 9             //读取Excel
10             $PHPExcel = $PHPReader->load($dir.$templateName);
11             $currentSheet = $PHPExcel->getSheet(0);

4.样式设置,你也可以不设置

 2  //设置水平居中 3             $PHPExcel->getActiveSheet()->getStyle('A')->getAlignment()->setHorizontal( \PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
 4             $PHPExcel->getActiveSheet()->getStyle('B')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
 5             $PHPExcel->getActiveSheet()->getStyle('C')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
 6             $PHPExcel->getActiveSheet()->getStyle('D')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
 7             $PHPExcel->getActiveSheet()->getStyle('E')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
 8             $PHPExcel->getActiveSheet()->getStyle('F')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
 9             $PHPExcel->getActiveSheet()->getStyle('G')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
10             $PHPExcel->getActiveSheet()->getStyle('H')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
11             $PHPExcel->getActiveSheet()->getStyle('I')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
12             $PHPExcel->getActiveSheet()->getStyle('J')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
13             $PHPExcel->getActiveSheet()->getStyle('K')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

5.把数据导入到excel模板里面,我的是个二维数组

 1 for($i=0;$i<count($deal);$i++){
 2                 $currentSheet->setCellValue('A'.($i+3), date('Y-m-d H:i:s', $deal[$i]['create_time'])); //日期
 3                 $currentSheet->setCellValue('B'.($i+3),$deal[$i]['deal_type']); //交易类型
 4                 $currentSheet->setCellValue('C'.($i+3),$deal[$i]['roll_name']); //支出账户名称
 5                 $currentSheet->setCellValue('D'.($i+3),$deal[$i]['roll_user']); //支出账号
 6                 $currentSheet->setCellValue('E'.($i+3),$deal[$i]['receive_name']); //收入账号名称
 7                 $currentSheet->setCellValue('F'.($i+3),$deal[$i]['receive_user']); //收入账户
 8                 $currentSheet->setCellValue('G'.($i+3),$deal[$i]['account']); //交易金额
 9                 $currentSheet->setCellValue('H'.($i+3),$deal[$i]['roll_account']); //支出账号交易后余额
10                 $currentSheet->setCellValue('I'.($i+3),$deal[$i]['receive_account']); //收入账号交易后余额
11                 $currentSheet->setCellValue('J'.($i+3),$deal[$i]['user']); //操作员
12                 $currentSheet->setCellValue('K'.($i+3),$deal[$i]['remark']); //订单备注
13             }

6.这样就可以下载下来了,有两种输出格式,excel输出是有表格线条的,网页输出没有表格线条

 1         ob_clean();
 2             ob_start();
 3             $objWriteHTML = new \PHPExcel_Writer_Excel2007($PHPExcel); //输出EXCLl格式的对象
 4             header("Content-type: application/octet-stream;charset=utf-8");
 5             header('Content-Type: application/vnd.ms-excel');
 6             header('Content-Disposition: attachment;filename="funds.xlsx"');  //日期为文件名后缀
 7             header('Cache-Control: max-age=0');
 8             $objWriteHTML->save("php://output");
 9
10             exit;//退出

7.完成

转载于:https://www.cnblogs.com/luojie-/p/7754181.html

PHPExcel的使用相关推荐

  1. FastAdmin扩展PHPEXCEL,PHP7.3高版本兼容问题

    THINKPHP扩展PHPEXCEL与PHP7.3高版本兼容问题 框架:THINKPHP5,PHPEXCEL版本:1.81 无法导出EXCEL原因为Shared/OLE.php第290行使用conti ...

  2. php excel 追加写入,phpexcel写入追加已有的excel文件

    /** * 在已有excel表中插入数据例子 */ public function readyExcel($filename){ vendor("PHPExcel.PHPExcel" ...

  3. PHPExcel使用-使用PHPExcel导出文件-导出MySQL数据

    现在数据库里面有一组数据,我们将它按照不同的难度进行分sheet. 首先我们需要写一个mysql的配置文件- db.config.php(utf-8编码) : <?php $dbconfig= ...

  4. 使用PHPExcel 对表格进行,读取和写入的操作。。。。

    下面的代码是使用PHPExcel 对多个表格数据进行读取, 然后整合的写入新的表格的方法!!!代码有点粗糙 , 多多保函!!! 这里有些地方注意下,如果你的表格数据过大, 一定要记得修改php.ini ...

  5. Laravel 上使用 phpexcel的两种方式

    原创 2017年06月24日 20:24:31 1229 文章采集与网上 方式1.使用原生的phpexcel , http://blog.csdn.net/CSwfe/article/details/ ...

  6. phpexcel导出超过26列解决方案

    phpexcel导出超过26列解决方案 原文:phpexcel导出超过26列解决方案 将列的数字序号转成字母使用,代码如下:   PHPExcel_Cell::stringFromColumnInde ...

  7. php 批量导出excel文件,PHPEXCEL批量导出

    // 引入phpexcel核心类文件 require_once ROOT_PATH . '/includes/phpexcel/Classes/PHPExcel.php'; // 实例化excel类 ...

  8. php 读取excel转html,PHPExcel 转HTML

    标签:jre   pat   ide   sheet   php   ade   文件名   obj   exce $filePath = './123.xls'; $fileType = \PHPE ...

  9. 【PHPExcel】设置打印格式

    //错误处理 时区设置 error_reporting(E_ALL); ini_set('display_errors',TRUE); ini_set('display_startup_errors' ...

  10. 【PHPExcel】数学公式

    //错误处理 时区设置 error_reporting(E_ALL); ini_set('display_errors',TRUE); ini_set('display_startup_errors' ...

最新文章

  1. Camera+销量突破200万 创始人分享成功经验
  2. 全球32家人工智能独角兽公司
  3. mysql启动warning: World-writable config file
  4. 聊下 git 使用前的一些注意事项
  5. mysql ef_在EF中使用MySQL的方法及常见问题
  6. django报错500排查方法
  7. 【学习笔记】单例模式(枚举、校验锁、volatile、反射破坏)
  8. Java 猜字谜游戏
  9. img解包打包工具_Python开发GUI实战:图片转换素描画工具!
  10. Unity脚本运行时更新带来了什么?
  11. 【多视图几何】TUM 课程 第6章 多视图重建
  12. [转载] 10 个最值得 Python 新人练手的有趣项目
  13. JSTL fmt 标签 使用
  14. 如何写好工作周报?工作周报模板
  15. WINDOWS下内存泄漏检测工具VLD(Visual Leak Detector)的使用
  16. 【深度好文】二维图像傅里叶变换 YYDS
  17. Jetpack新成员,App Startup一篇就懂
  18. kafka 分区多节点消费
  19. 《Python编程从入门到实践 第二版》第十六章练习
  20. 解决fileReader读取文件乱码

热门文章

  1. 微信支付快速生成签名sign
  2. 功放限幅保护_一种功放限幅器的制作方法
  3. 5G/NR 网络共享(协议版)
  4. android4.3从app到kernel代码追踪gsensor所遇到的问题
  5. 编译gstreamer nvenc插件
  6. web的邮件抄送和密送
  7. C#绘制九宫格形式的图片
  8. 用python制作九宫格图片原来如此简单
  9. 白大脑比超级计算机还,《精灵宝可梦》图鉴376:大脑的运算速度堪比计算机——巨金怪...
  10. KSO-sqlserver以逗号分隔,并进行转为多行