Я хотел бы объединить несколько файлов excel (file1.xls; file2.xls). Оба из них имеют одинаковое количество столбцов и заголовок столбца такого же типа.PHPExcel: объединить несколько файлов (или рабочих листов) со стилем в один рабочий лист
Я нашел решение для объединения данных (enter link description here). Но я хочу скопировать стили (у меня есть другой фон для разных файлов).
$tempXlsFiles = [
storage_path('exports') . "/file1.xls",
storage_path('exports') . "/file2.xls"
];
$objPHPExcel1 = PHPExcel_IOFactory::load($tempXlsFiles[0]);
for($i=1;$i < sizeof($tempXlsFiles); $i++){
$objPHPExcelToCopy = PHPExcel_IOFactory::load($tempXlsFiles[$i]);
// Find the last cell in the second spreadsheet
$findEndDataRow = $objPHPExcelToCopy->getActiveSheet()->getHighestRow();
$findEndDataColumn = $objPHPExcelToCopy->getActiveSheet()->getHighestColumn();
$findEndData = $findEndDataColumn . $findEndDataRow;
$beeData = $objPHPExcelToCopy->getActiveSheet()->rangeToArray('A2:' . $findEndData);
// Identify the row in the first spreadsheet where we want to start
// adding merged bee data without overwriting any bird data
$appendStartRow = $objPHPExcel1->getActiveSheet()->getHighestRow() + 1;
// Add bee data from the PHP array into the bird data
$objPHPExcel1->getActiveSheet()->fromArray($beeData, null, 'A' . $appendStartRow);
// How can i to add the style ?
}
// Save the spreadsheet with the merged data
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel1, 'Excel2007');
$objWriter->save(storage_path('exports').'/'.$outputFile);
PS: Я использую LaravelExcel и PhpExcel.
РЕДАКТИРОВАТЬ:
- file1.xls имеет 10 строк. Эти строки имеют фон RED
- file2.xls имеет 5 строк. Имеет фоном BLUE
Я хочу: file_merge.xls: имеет 15 строк. 0 to 10: background RED С данными файла 1. От 10 до 15: данные файла 2 с синим фоном. (Например, я не знаю, какой фон имеет файл.)
Спасибо, но я хочу установить стиль с теми же стилями file1.xls и file2.xls. Я сделал Редактировать свой пост, чтобы объяснить –