Я использую пакет phpspreadsheet в laravel для генерации файла Excel, пока он работает как шарм.Вот моя проблема, я хотел сохранить Excel в определенном каталоге вместо загрузки всплывающих окон, я дал путь для сохранения в определенном каталоге, и он работает нормально.
$writer->save($full_path.$filename);
, но загрузка всплывающих окон по-прежнемуниже приведен код для генерации Excel:
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
use PhpOffice\PhpSpreadsheet\IOFactory;
use PhpOffice\PhpSpreadsheet\Style\Aligment;
use SpreadsheetReader;
public function export()
{
$spreadsheet = new Spreadsheet();
// Add some data
$sheet = $spreadsheet->getActiveSheet();
$sheet->getStyle('C')->getAlignment()->setHorizontal('left');
$sheet->getColumnDimension('A')->setWidth(20);
$sheet->getColumnDimension('B')->setWidth(20);
$sheet->setCellValue('A1', 'Name');
$sheet->setCellValue('B1', 'Service');
$users = User::get();
if(count($users) > 0) {
$rowCount = 2;
foreach($users as $user) {
$sheet->setCellValue('A' . $rowCount, $user->name);
$sheet->setCellValue('B' . $rowCount, $user->service);
$rowCount++;
}
}
$spreadsheet->getActiveSheet()->setTitle('User Services');
$spreadsheet->setActiveSheetIndex(0);
$filename = "file-".date('YmdHis').".xlsx";
$full_path = public_path().'\rpts\\';
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="'.$filename.'"');
header('Cache-Control: max-age=0');
$writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
//$writer->save('php://output');
$writer->save($full_path.$filename);
exit;
}
В любом случае запрещается ли всплывающее окно save as
в процессе экспорта?