今天写项目需要将查询结果用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. 开机BIOS语言(转载)
  2. bzoj 1050: [HAOI2006]旅行comf(codevs.cn 1001 舒适的路线) 快排+并查集乱搞
  3. php源码十六进制加密,php-简单对称加密算法和字符串与十六进制之间的互转函数,php-十六进制_PHP教程...
  4. 小程序云开发搜索功能的实现正则_几行代码实现小程序云开发提现功能
  5. 最小费用最大流-SPFA-多路增广
  6. mha如何管理多套mysql集群_Mysql 集群高可用方案 MHA
  7. Android开发之线程池管理ThreadPoolExecutor和Executors.newSingleThreadExecutor()
  8. GIF图片合集(用于网络请求图片用)
  9. redis python 出错重连_python穿透类 对象代理
  10. FCKeidtor的toolbarset的设置
  11. android 图片放大于缩小
  12. python的map函数和reduce_python函数_map()、filter()和reduce()
  13. MAC下安装和管理java
  14. java强势来袭 百战程序员Java基础入门教程,学编程就像玩游戏一样简单 ~
  15. 51蓝牙红外循迹避障小车+代码
  16. 文本自动校对技术研究综述
  17. mysql数据库木马查杀_服务器木马后门怎么查杀
  18. alpha在matlab中啥意思,alpha是什么
  19. mm游戏大全HTML5小游戏,HTML5小游戏——看你有多色(示例代码)
  20. Miles to go ... - Arun Gupta: Securing WebSocket using wss and HTTPS/TLS (Tech T

热门文章

  1. 借助二维码可以建立完整的居民垃圾分类档案
  2. 斗鱼 html播放器,斗鱼直播平台简易播放器 v1.2 (20180223更新)
  3. 计算机视觉识别技术研究
  4. SQL报错:You can’t specify target table ‘person’ for update in FROM clause的解决方法
  5. 先进技术的研发和加快落地 细分赛道人工智能企业上市步伐加速
  6. (转帖)HashMap循环遍历的方式
  7. 最接近计算机硬件的系统软件是,最接近计算机硬件的系统软件是
  8. vue刷新当前页面,不留白
  9. 关于goole浏览器无法访问网页问题
  10. 计算机程序著作权保护,计算机程序著作权保护问题研究