Я использую Angular 6 с PHP и хочу скачать файл Excel с помощью phpspreadsheet.
Когда я использую код по умолчанию
$writer = new Xlsx($spreadsheet);
$writer->save('hello world.xlsx');
, файл создается в папке php без загрузки и работает нормально.Теперь я хотел бы загрузить его и выбрать, где его сохранить.
Я использую код, найденный в документации
// redirect output to client browser
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="myfile.xlsx"');
header('Cache-Control: max-age=0');
$writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($spreadsheet, 'Xlsx');
$writer->save('php://output');
, но файл не загружен, и я получаю его вмой браузер:
В начале моего PHP-файла у меня есть
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
Мой сервис на Angular:
export_excel(localUserid, date, projectid) {
return this.http.post(this.apiUrl, {localUserid, date, projectid},
{
headers : {
'Content-Type' : 'application/x-www-form-urlencoded; charset=UTF-8'
}
})
}
Я передаю некоторые значения в PHP.Я пытался изменить заголовки в Angular, но ничего не получалось.Кто-нибудь знает как это решить?Спасибо.