我正在使用PHPExcel动态生成订单收据。
我希望能够生成一个“摘要”Excel 文件,其中包含所有订单收据(每个工作表一个)。
有没有办法用 PHPExcel 将两个(或多个)Excel 文档“连接”成一个?
在 Excel 中,“选项卡”被称为“工作表”。您可以在 PHPExcel 中创建包含多个工作表的 Excel 工作簿。
作为参考,SO 上的另一个答案有一个易于遵循的指南,介绍如何将其他工作表添加到现有工作簿。
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 ) );
。