У меня есть два файла Excel, и мне нужно перенести данные из первого файла во второй файл.
Сначала я уничтожу несколько столбцов в файле и поместу их в 4 отдельных столбца в целевом файле.Функция проверки данных в целевом файле теряется при сохранении файла.
Извините за плохой английский.
$sourceExcel = \PhpOffice\PhpSpreadsheet\IOFactory::load($this->sourceExcelPath);
$targetExcel = \PhpOffice\PhpSpreadsheet\IOFactory::load($this->targetExcelPath);
$sourceExcelRowLength = $sourceExcel->getActiveSheet()->getHighestRow();
for ($i = 1; $i <= $sourceExcelRowLength; $i++) {
foreach ($this->pairedColumns as $column) { // the first column in the source file is equal to the second column in the target file etc.
$value = $sourceExcel->getActiveSheet()->getCellByColumnAndRow($column["sourceIndex"], ($this->sourceExcelHeaderStartingIndex + $i))->getValue();
$targetExcel->getActiveSheet()->setCellValueByColumnAndRow($column["targetIndex"], ($this->targetExcelHeaderStartingIndex + $i), $value);
}
}
$writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($targetExcel, 'Xlsx');
$writer->save($this->sourceExcelPath);
версия phpspreadsheet: ^ 1.6
Screenshoot