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

今天写项目需要将查询结果用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文档

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值