小編給大家分享一下PHP怎么高效導出Excel,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
php的框架:1、Laravel,Laravel是一款免費并且開源的PHP應用框架。2、Phalcon,Phalcon是運行速度最快的一個PHP框架。3、Symfony,Symfony是一款為Web項目準備的PHP框架。4、Yii,Yii是一款快速、安全和專業的PHP框架。5、CodeIgniter,CodeIgniter是一款非常敏捷的開源PHP框架。6、CakePHP,CakePHP是一款老牌的PHP框架。7.Kohana,Kohana是一款敏捷但是功能強大的PHP框架。
CSV,是Comma Separated Value(逗號分隔值)的英文縮寫,通常都是純文本文件。
如果你導出的Excel沒有什么高級用法的話,只是做導出數據用那么建議使用本方法,要比PHPexcel要高效的多。
二十萬數據導出大概需要2到3秒。
/**
* 導出excel(csv)
* @data 導出數據
* @headlist 第一行,列名
* @fileName 輸出Excel文件名
*/
function csv_export($data = array(), $headlist = array(), $fileName) {
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="'.$fileName.'.csv"');
header('Cache-Control: max-age=0');
//打開PHP文件句柄,php://output 表示直接輸出到瀏覽器
$fp = fopen('php://output', 'a');
//輸出Excel列名信息
foreach ($headlist as $key => $value) {
//CSV的Excel支持GBK編碼,一定要轉換,否則亂碼
$headlist[$key] = iconv('utf-8', 'gbk', $value);
}
//將數據通過fputcsv寫到文件句柄
fputcsv($fp, $headlist);
//計數器
$num = 0;
//每隔$limit行,刷新一下輸出buffer,不要太大,也不要太小
$limit = 100000;
//逐行取出數據,不浪費內存
$count = count($data);
for ($i = 0; $i < $count; $i++) {
$num++;
//刷新一下輸出buffer,防止由于數據過多造成問題
if ($limit == $num) {
ob_flush();
flush();
$num = 0;
}
$row = $data[$i];
foreach ($row as $key => $value) {
$row[$key] = iconv('utf-8', 'gbk', $value);
}
fputcsv($fp, $row);
}
}以上是“PHP怎么高效導出Excel”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。