Welcome 歡迎光臨! 愛上網路 - 原本退步是向前

EXCEL 滙出

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

[ PHP ] 瀏覽次數 : 193 更新日期 : 2023/12/04