[英]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.