我使用PHPExcel來動態生成訂單收據。如何使用PHPExcel加入Excel文檔?
我希望能夠生成包含所有訂單收據(每個工作表一個)的「彙總」Excel文件。
有沒有辦法將兩個(或多個)Excel文檔「加入」到PHPExcel中?
我使用PHPExcel來動態生成訂單收據。如何使用PHPExcel加入Excel文檔?
我希望能夠生成包含所有訂單收據(每個工作表一個)的「彙總」Excel文件。
有沒有辦法將兩個(或多個)Excel文檔「加入」到PHPExcel中?
在Excel中,「選項卡」被稱爲「工作表」。您可以使用PHPExcel中的多個工作表創建Excel工作簿。
僅供參考,關於SO的另一個答案有an easy-to-follow guide on how to add additional Worksheets to an existing workbook。
This post on Codeplex有添加外部工作表的示例。雖然我不確定所有的重命名舞蹈都是需要的。 (Codeplex鏈接鼓勵您克隆工作表並複製克隆工作表,以免將其從原始工作簿中刪除,但我認爲這不會成爲問題,除非您將輸出寫入源工作簿)。認爲像這樣的事情應該工作:
function getReceiptWorksheet($receiptNumber) {
// Do something here to retrieve & return your existing receipt
}
function createMasterWorkbook($filename, $receiptNumbers) {
$workbook= new PHPExcel();
foreach($receiptNumbers as $receiptNumber){
$worksheet = getReceiptWorksheet($receiptNumber)
$workbook->addExternalSheet($worksheet);
}
$objWriter = new PHPExcel_Writer_Excel2007($workbook);
$objWriter->save($filename);
}
然後,你可以撥打createMasterWorkbook('receipts.xlsx', array(1, 2, 3));
。
感謝,作品像一個魅力與最小行碼。 PHPExcel是一個令人難以置信的圖書館! – mike23
你期望哪種行爲?也就是說,你想如何「加入」你的文件(將每張表格複製到一個文件中...)? – JMax
@JMax,是例如合併doc1.xlsx,doc2.xslx,doc3.xslx到master_doc.xslx(其中包含三個選項卡,每個文件doc1,doc2和doc3一個) – mike23