Я использую PHPExcel для динамического создания ордеров.
Я хотел бы иметь возможность генерировать «сводный» файл Excel, содержащий все поступления ордеров (по одному на лист).
Есть ли способ «присоединить» два (или более) документа Excel к одному с PHPExcel?
В Excel «вкладки» известны как «рабочие листы». Вы можете создать книгу Excel с несколькими листами в PHPExcel.
Для справки, еще один ответ на 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); }
Затем вы можете просто вызвать createMasterWorkbook( 'receipts.xlsx', array( 1, 2, 3 ) );
,