複数のExcelファイル(file1.xls; file2.xls)を結合したいと思います。両方とも同じ数の列と同じタイプの列ヘッダーを持ちます。PHPExcel:複数のファイル(またはワークシート)をスタイルで1つのワークシートに結合
データを結合するソリューションが見つかりました(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を使用します。
EDIT:
- file1.xlsは10行があります。この行には背景REDがあります
- file2.xlsには5行あります。背景BLUE
私が望む: file_merge.xls:15行を持っています。 0〜10:背景RED WITHファイル1のデータ。10〜15:青色背景のファイル2のデータ。
ありがとうございますが、私は同じスタイルのfile1.xlsとfile2.xlsでスタイルを設定したいと思います。私は –