#laravel #phpspreadsheet
Вопрос:
У меня есть существующий шаблон excel, расположенный в моей папке хранения с условным форматированием на нем, и всякий раз, когда я экспортирую excel, условное форматирование в excel исчезает.
В моем коде чего-нибудь не хватает?
Вот мой код:
public function export(Request $request)
{
if($request->ajax()) {
if(File::exists('storage/app/template.xlsx')) {
$model = ....;
$reader = PhpOfficePhpSpreadsheetIOFactory::createReader("Xlsx");
$spreadsheet = $reader->load("storage/app/template.xlsx");
$sheet = $spreadsheet->setActiveSheetIndexByName('Summary');
$index = 2;
foreach($model as $row) {
$sheet->setCellValue("A{$index}", $row->po_number);
$sheet->setCellValue("B{$index}", $row->rating_date);
$sheet->setCellValue("C{$index}", $row->rating);
$index ;
}
ob_start();
$excel = new Excel($spreadsheet);
$excel->setPreCalculateFormulas(TRUE);
$excel->save('php://output');
$data = base64_encode(ob_get_contents());
ob_end_clean();
$response = array(
'name' => 'Output.xlsx',
'file' => "data:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64,{$data}"
);
return response()->json($response);
}
}
}