我使用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