PHP在EXCEL 匯出會有資料不完整的情形 下列是比較好的寫法,收集一下
php->header下載檔案最常遇見的問題就是下載回來的檔案損毀,或是格式損毀,最主要的原因就是:UTF-8的BOM字元產生的檔頭錯誤
解決方法就是使用ob_clean()+flush();方法如下:
// 使用 XLS 格式。不要使用XLSX 大量時會有問題
$getDate = date("Y-m-d-H-M");
//XLS ==export
$filenames = $request . "-" . $getDate . ".XLS";
$writer = new Xlsx($spreadsheet);
$writer->save($filenames);
header("Content-Type: application/vnd.ms-excel");
header('Content-Disposition: attachment; filename="' . basename($filenames) . '"');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length:' . filesize($filenames));
flush();
readfile($filenames);
exit;
https://neohsuxoops.blogspot.com/2020/01/phpheader.html
這個方法要先用下列
PhpSpreadsheet
進入專案資料夾執行以下指令:
composer require phpoffice/phpspreadsheet
引用
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
use PhpOffice\PhpSpreadsheet\IOFactory;
https://www.twblogs.net/a/5d123d51bd9eee1e5c822bc3/?lang=zh-cn