2011-09-02 5 views
10

私はPHPExcelを使用して受注を動的に生成しています。PHPExcelを使用してExcel文書にどのように参加できますか?

すべての注文受領書(ワークシートごとに1つ)を含む「要約」Excelファイルを生成できます。

2つ(以上)のExcelドキュメントをPHPExcelで1つに結合する方法はありますか?

+0

あなたはどのような行動を期待していますか?つまり、どのようにファイルに「参加」したいのですか(すべてのシートを1つのファイルにコピーします...)? – JMax

+0

@JMax、はい、たとえばdoc1.xlsx、doc2.xslx、doc3.xslxをmaster_doc.xslxにマージします(3つのタブ、各ファイルdoc1、doc2、doc3に1つずつ) – mike23

答えて

8

Excelでは、「タブ」を「ワークシート」と呼びます。 PHPExcelで複数のワークシートを持つExcelワークブックを作成することができます。

参考までに、別の答えが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));と呼ぶことができます。

+1

ありがとうございます。コード。 PHPExcelは信じられないほどのライブラリです! – mike23

関連する問題