php导出大量excel表,php导出大量数据到excel时,有哪些比较好的处理方法?
導出csv就行
$columns = ['你導出的字段','你導出的字段','你導出的字段',..........];
$csvFileName = 'test.csv';
header('Content-Description: File Transfer');
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment; filename="' . $csvFileName . '"');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
$fp = fopen('php://output', 'a'); //打開output流
mb_convert_variables('GBK', 'UTF-8', $columns);
fputcsv($fp, $columns); //將數(shù)據格式化為CSV格式并寫入到output流中
$pagesize = '1000000'; //從數(shù)據庫獲取總量,假設是一百萬
$count = 1000; //每次查詢的條數(shù)
$pages = ceil($pagesize / $count);
$output_data = [];
for ($i = 1; $i <= $pages; $i++) {
$output_data = ['你要導出的數(shù)據'];
mb_convert_variables('GBK', 'UTF-8', $output_data);
$x = fputcsv($fp, $output_data);
unset($rs); //釋放變量的內存
unset($output_data); //釋放變量的內存
//刷新輸出緩沖到瀏覽器
ob_flush();
flush(); //必須同時使用 ob_flush() 和flush() 函數(shù)來刷新輸出緩沖。
}
fclose($fp);
代碼大致就是這樣,理論上來說上百萬的數(shù)據都可以導出,以前查的別的大神給的例子,現(xiàn)在我們線上跑的這段代碼 ,導出基本都沒啥問題
總結
以上是生活随笔為你收集整理的php导出大量excel表,php导出大量数据到excel时,有哪些比较好的处理方法?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 有前途的人工智能大数据分析相关职业:Py
- 下一篇: SpringMVC工作原理