In Excel, le "schede" sono note come "fogli di lavoro". È possibile creare una cartella di lavoro di Excel con più fogli di lavoro in PHPExcel.
Per riferimento, un'altra risposta su SO è an easy-to-follow guide on how to add additional Worksheets to an existing workbook.
This post on Codeplex ha un esempio di aggiunta di un foglio esterno. Non sono sicuro che sia necessaria tutta la danza per rinominare. (Il collegamento Codeplex ti incoraggia a clonare il foglio di lavoro e a copiare il foglio clonato in modo da non rimuoverlo dalla cartella di lavoro originale, ma non penso che sarebbe un problema a meno che tu non stia scrivendo l'output alla cartella di lavoro di origine.) I pensare qualcosa come questo dovrebbe funzionare:
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);
}
Poi si può solo chiamare createMasterWorkbook('receipts.xlsx', array(1, 2, 3));
.
quale comportamento ti aspetti? in modo significativo, come vuoi "unire" i tuoi file (copia ogni foglio in un file ...)? – JMax
@JMax, sì per esempio unisci doc1.xlsx, doc2.xslx, doc3.xslx in master_doc.xslx (che contiene tre schede, una per ogni file doc1, doc2 e doc3) – mike23