如何使用PHPExcel加入Excel文档?

mik*_*e23 11 php tabs worksheet phpexcel

我正在使用PHPExcel动态生成订单收据.

我希望能够生成一个"摘要"Excel文件,其中包含所有订单收据(每个工作表一个).

有没有办法将两个(或更多)Excel文档"加入"到PHPExcel中?

Far*_*ray 8

在Excel中,"标签"称为"工作表".您可以在PHPExcel中创建包含多个工作表的Excel工作簿.

作为参考,关于SO的另一个答案有一个易于遵循的指南,指导如何将其他工作表添加到现有工作簿.

Codeplex上的这篇文章有一个添加外部工作表的例子.我不确定是否需要所有的重命名舞蹈.(Codeplex链接鼓励您克隆工作表并复制克隆的工作表,以免将其从原始工作簿中删除,但我不认为这是一个问题,除非您将输出写入源工作簿.)I认为这样的事情应该有效:

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);
}
Run Code Online (Sandbox Code Playgroud)

然后你可以打电话createMasterWorkbook( 'receipts.xlsx', array( 1, 2, 3 ) );.