[英]Most effective way to create Excel files
寻找一个PHP解决方案以动态创建Excel文件(请考虑动态报告)。
现在,我已经了解了PHP Excel,并且知道可以创建CSV文件,但是这些是最好的选择吗?
我在使用PHP Excel的Linux系统上运行此脚本,但未设置所有选项
$objPHPExcel->getProperties()->setCreator("Phill");
$objPHPExcel->getProperties()->setLastModifiedBy("Phill");
$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");
另外,如果我给扩展名是.xls而不是.xlsx,它会抛出一个无效文件并且无法打开。 (注意:我正在使用Open Office查看生成的Excel工作表)
想知道是否还有其他/更好的解决方案?
编辑:
我如何保存文件
$file = '/path/to/777/dir/file.xlsx'; // not viewable by public
$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
$objWriter->save($file);
但是,在您立即取消使用PHPExcel之前,我想知道为什么它不起作用。 这通常是没有任何问题的。 但是您的代码段未显示任何有关保存文件的信息。 您如何保存文件:您正在使用哪个作家?
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('/path/to/777/dir/file.xls');
编辑
要么
$file = '/path/to/777/dir/file.xls'; // not viewable by public
$objWriter = new PHPExcel_Writer_Excel5($objPHPExcel);
$objWriter->save($file);
(我相信)最新版本的Open Office也将读取.xlsx文件,但是如果它们具有正确的扩展名,它确实更喜欢。
请注意,Excel5 Writer不支持文档属性(尽管Excel2007支持)。 PHPExcel问题列表上有一个活跃的工作项。
就在这里。 您可以使用Pear的Spreadsheet_Excel_Writer 。 它仅创建BIFF8或更旧的文件(Word 2003),但是效果很好。
编辑:我只是注意到他们说它需要完全重写,并且不建议将其用于新开发。 我已经在生产系统中使用了大约3年的时间,除了一些小bug之外,它对我来说非常有用...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.