全部博文(921)
分类:
2007-12-19 11:24:11
今天学习手记,参照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");