Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4998526
  • 博文数量: 921
  • 博客积分: 16037
  • 博客等级: 上将
  • 技术积分: 8469
  • 用 户 组: 普通用户
  • 注册时间: 2006-04-05 02:08
文章分类

全部博文(921)

文章存档

2020年(1)

2019年(3)

2018年(3)

2017年(6)

2016年(47)

2015年(72)

2014年(25)

2013年(72)

2012年(125)

2011年(182)

2010年(42)

2009年(14)

2008年(85)

2007年(89)

2006年(155)

分类:

2007-12-19 11:24:11

Excel报表生成的方案之二 PHPExcel

今天学习手记,参照PHPExcel的文档和API文档,请参考:

PHPExcel是我见过的蛮不错的的一个用处理Excel报表的一个包了。相较于PEAR的Spreadsheet是有过之而无不及。

1、使用PHPExcel的前提条件:
» PHP version 5.2 or newer
» PHP extension php_zip enabled
** 我觉得还应该加一点,放在这边比较明显,那就是还应该打开php_xml模块。

2、安装指南

开源社区利用其它的东西就是比较方便,只需要简单的包含即可。如果你不想每次在包含时写太长的相对路径,那么设置一个PHP的include路径即可:

set_include_path(get_include_path() . PATH_SEPARATOR . '/path/to/PHPExcel/');

功能丰富,自然而然API就比较多,我想还是用到什么再查什么吧。

3、对2007 excel的支持是蛮不错的,读写皆可。创建一个Excel 2007文档

/** Error reporting */
error_reporting(E_ALL);

/** Include path **/
set_include_path(get_include_path() . PATH_SEPARATOR . ‘../Classes/’);

/** PHPExcel */
include ‘PHPExcel.php’;

/** PHPExcel_Writer_Excel2007 */
include ‘PHPExcel/Writer/Excel2007.php’;

// Create new PHPExcel object
echo date(’H:i:s’) . ” Create new PHPExcel object\n";
$objPHPExcel = new PHPExcel();

// Set properties
echo date(’H:i:s’) . ” Set properties\n";
$objPHPExcel->getProperties()->setCreator("Maarten Balliauw");
$objPHPExcel->getProperties()->setLastModifiedBy("Maarten Balliauw");
$objPHPExcel->getProperties()->setTitle("Office 2007 XLSX Test Document");
$objPHPExcel->getProperties()->setSubject("Office 2007 XLSX Test Document");
$objPHPExcel->getProperties()->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.");
$objPHPExcel->getProperties()->setKeywords("office 2007 openxml php");
$objPHPExcel->getProperties()->setCategory("Test result file");

// Add some data
echo date(’H:i:s’) . ” Add some data\n";
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->setCellValue(’A1′, ‘Hello’);
$objPHPExcel->getActiveSheet()->setCellValue(’B2′, ‘world!’);
$objPHPExcel->getActiveSheet()->setCellValue(’C1′, ‘Hello’);
$objPHPExcel->getActiveSheet()->setCellValue(’D2′, ‘world!’);

// Rename sheet
$objPHPExcel->getActiveSheet()->setTitle(’Simple’);

// Set active sheet index to the first sheet, so Excel opens this as the first sheet
$objPHPExcel->setActiveSheetIndex(0);

// Save Excel 2007 file
$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
$objWriter->save(str_replace(’.php’, ‘.xlsx’, __FILE__));

4、PHPExcel主要是以 Excel 2007为标准开发的,但它仍然保留了对旧版本的支持 --Excel 5 (BIFF)。

不过它是通过对PEAR的Spreadsheet_Excel_Writer的修改实现的,所以也就差不多了。

创建一个Excel5文档:

$objWriter = new PHPExcel_Writer_Excel5($objPHPExcel);
$objWriter->save("test.xls");

阅读(3833) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~