Подключила на коробке Б24 библиотеку PhpOffice\PhpSpreadsheet.
Хочу отдавать пользователям данные в xlsx, но при скачивании и сохранении файла на компьютере он повреждается и блокируется.
Пытаюсь сделать:
$spreadsheet = new PhpOffice\PhpSpreadsheet\Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$sheet->setCellValue('A1', 'Hello World !');
$writer = new PhpOffice\PhpSpreadsheet\Writer\Xlsx($spreadsheet);
$file = 'Report.xlsx';
$writer->save($file);
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: '.filesize($file));
readfile($file);
exit;
Через фтп если скачивать, то только повреждение восстанавливается.
Хочу отдавать пользователям данные в xlsx, но при скачивании и сохранении файла на компьютере он повреждается и блокируется.
Пытаюсь сделать:
$spreadsheet = new PhpOffice\PhpSpreadsheet\Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$sheet->setCellValue('A1', 'Hello World !');
$writer = new PhpOffice\PhpSpreadsheet\Writer\Xlsx($spreadsheet);
$file = 'Report.xlsx';
$writer->save($file);
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: '.filesize($file));
readfile($file);
exit;
Через фтп если скачивать, то только повреждение восстанавливается.