今天写项目需要将查询结果用PHP导出为excel文件,查了网上主流的一些做法,发现phpexcel功能很强大,试着模仿着examples写了一个简单的导出excel的php代码

下载最新的phpexcel插件可以上官网查找,这里就不多做说明

**

excel写入数据及输出过程

**

1.引入phpexcel插件 ,引入前进行错误检查(也可忽略)error_reporting(E_ALL);

ini_set('display_errors', TRUE);

ini_set('display_startup_errors', TRUE);//date_default_timezone_set('Europe/London');define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '
');if (PHP_SAPI == 'cli')    die('This excel should only be run from a Web Browser');require_once dirname(__FILE__) . '/PHPExcel.php';1234567812345678

2.创建一个excel,$objPHPExcel = new PHPExcel();11

3.因为项目的excel有特定的格式,所以需要引入一个模板,可提前将模板写好放在摸个目录下,接着引用该模版,引用的方法如下$objReader = PHPExcel_IOFactory::createReader('Excel2007');//如果是引入excel2003,将Excel2007改为Excel5即可,如果不改,则输出的excel会错误无法打开$objPHPExcel = $objReader->load("模板的路径");1212

4.设置文件属性(也可忽略采用默认的格式,暂时没发现什么问题)$objPHPExcel->getProperties()->setCreator("zly")->setLastModifiedBy("zly")

->setTitle("zly")->setSubject("PHPExcel zly Document")->setDescription("zlydocument for PHPExcel, generated using PHP classes.")->setKeywords("office PHPExcel php")->setCategory("zlyresult file");1234567812345678

5.写数据//setActiveSheetIndex(num) num为要写入的工作薄的位置,如1表示sheet1(暂时不确定)//setCellValue(param1,param2) param1为你要写入数据的位置,param2为要在该位置写的数据

$objPHPExcel->setActiveSheetIndex(0)->setCellValue('C1', "你好")

->setCellValue('D1',"你好")->setCellValue('F1', "你好") ->setCellValue('G1', "你好");12345671234567

6.改写工作薄名称(如果没用可不写)$objPHPExcel->getActiveSheet(0)->setTitle('zly');11

7.设置打开excel时优先打开的工作薄(默认1)$objPHPExcel->getActiveSheet(0)->setTitle('zly');11

8.设置页面头信息header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); // 如果是excel2003,则写header('Content-Type: application/vnd.ms-excel');否则输出的excel无法打开

header('Content-Disposition: attachment;filename="sj.xlsx"');        header('Cache-Control: max-age=0');        // If you're serving to IE 9, then the following may be needed

header('Cache-Control: max-age=1');        // If you're serving to IE over SSL, then the following may be needed

header ('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past

header ('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); // always modified

header ('Cache-Control: cache, must-revalidate'); // HTTP/1.1

header ('Pragma: public'); // HTTP/1.012345678910111234567891011

9.输出excel的代码$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');  //如果为excel2003,则改为Excel5$objWriter->save('php://output');1212

**

注意点:

**         1.一定要分清引入的模板是2003的还是2007$objReader = PHPExcel_IOFactory::createReader('param');header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); // 如果是excel2003,则写header('Content-Type: application/vnd.ms-excel');否则输出的excel无```$objWriter=PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel2007');//2003用Excel5,2007用Excel2007123123

2.如果有从数据库读数据再写入时,一定不要有错误信息输出,否则文件无法打开

3.页面也不要有其他任何输出,否则文件无法打开

OK,到此一个简单的excel导出的代码就完成啦,如果还要具体的设置列宽或者颜色背景什么的可以参照api文档

phpexcel.php手册,PhpExcel中文帮助手册|PhpExcel使用方法相关推荐

  1. sicktim571操作手册_TIM中文操作手册.PDF

    TIM 中文操作手册 简介 TIM 系列激光扫描器是一款智能激光型区域扫描传感器. 得益于其小巧轻便的外形及对于激光扫描器而言极低的功耗,非常适合于AGV/RGV/机器 人及其他用于室内设备防撞及区域 ...

  2. python函数中文手册doc-Python 中文开发手册

    使用内容审核Python版本SDK包,需要您配置Python开发环境.从Python官网下载并安装合适的Python版本.兼容Python2.6+以及Python3.x.推荐使用Python3.x版本 ...

  3. c语言航班系统使用手册,isagraf_中文操作手册.pdf

    ISaGRAF 用户手册 SIXNET CHINA A1 ISaGRAF 入门 参见"ISaGRAF 自学培训手册" A.2 项目管理 为了运行 ISaGRAF 项目管理工具 在 ...

  4. ATmega8/16/32/64/128中文参考手册

    文章目录 ATmega8中文参考手册 ATmega16中文参考手册 ATmega32中文参考手册 ATmega64中文参考手册 ATmega128中文参考手册 ATmega8中文参考手册 ATmega ...

  5. PHPExcel中文开发手册翻译版(2)

    2016年8月18日12:45:14 请注意这个是粗翻译版,仅供参考,不是精校版 精校版后面才会更新 PHPExcel开发者文档1.目录 2. 4先决条件 2.1.软件要求4 2.2.安装说明4 2. ...

  6. FreeMarker中文帮助手册API文档,基础入门学习文档

    FreeMarker中文帮助手册API文档,基础入门学习文档 分类: 编程技术 发布: bywei 浏览: 7 日期: 2011年5月28日 分享到: QQ空间 新浪微博 腾讯微博 人人网 什么是Fr ...

  7. jpgraph中文使用手册之文本和字体控制教程

    摘要:在之前的php jpgraph安装配置教程中已介绍过jpgraph字体的安装与配置方法,jpgraph类库中字体和文本的使用是非常重要的,jpgraph既可以控 制文本的旋转.对齐方式.字体大小 ...

  8. golang日志服务器_日志系统 | log/syslog (log) – Go 中文开发手册 - Break易站

    Go 中文开发手册 日志系统 | log/syslog (log) - Go 中文开发手册 import "log/syslog"概述索引示例 概述 软件包系统日志为系统日志服务提 ...

  9. 下载Hibernate中文参考手册2.1版

    下载Hibernate中文参考手册 下载Hibernate中文参考手册 PDF版本下载 下载Hibernate-2.1.2 下载Hibernate-extension-2.0.2 转载于:https: ...

最新文章

  1. 201521123031 《Java程序设计》第6周学习总结
  2. Nokia7610彩信设置
  3. torch.nn.Embedding()的固定化
  4. 保险科技服务商豆包网完成9500万新一轮融资,博将资本领投
  5. 课程《设计模式之美》笔记之关于java四大特性
  6. [菜鸟必学]网络以及***命令行全收录
  7. CentOS 7 安装 jdk11
  8. 牛津高阶字典ld2_奶爸1.6G Mdict词库的补充及在Bluedict中使用的心得
  9. 操作系统:信号量机制之生产者与消费者实验
  10. mysql 统计函数 双条件_使用COUNTIFS函数统计符合多个条件的单元格的方法
  11. 设计模式的艺术 结构性模式之组合模式
  12. python grpc报错Received message larger than max
  13. [踩坑记录]VS2017+大恒MER-131-210U3C相机
  14. 英语语法(简单句型篇)
  15. 红蜻蜓抓图精灵抓视频播放器画面结果一片漆黑解决教程
  16. 弘辽科技:新手开淘宝店的步骤有哪些?如何起步?
  17. Python 计时器(秒钟、秒表)
  18. 自上而下的语法分析-递归下降分析和LL(1)文法
  19. Arm加入龙蜥社区并成为理事单位,国内开源再添国际新力量
  20. tcpdump进行DNS抓包

热门文章

  1. 计算机毕业设计 SpringBoot+Vue食商城系统 零食购物平台系统 网红零食店铺线上交易平台系统Java Vue MySQL数据库 远程调试 代码讲解
  2. shell ,sed,awk 基本用法汇总
  3. eclipse 2020-06版 安装配置完美教程(最后一版支持jdk1.8)
  4. Linux superblock bad (oracle 10g)
  5. 如何编写一个 Webpack Loader
  6. nba live 2004 切换控制球员
  7. 用node爬下来所有王者荣耀的皮肤图片(做壁纸用)
  8. hadoop无法访问70050(9870)
  9. ICMP协议是什么?
  10. 关于word修改页码