摘要:,是逗號分隔值的英文縮寫,通常都是純文本文件。如果你導(dǎo)出的沒有什么高級用法的話,只是做導(dǎo)出數(shù)據(jù)用那么建議使用本方法要比要高效的多。二十萬數(shù)據(jù)導(dǎo)出大概需要到秒。
CSV,是Comma Separated Value(逗號分隔值)的英文縮寫,通常都是純文本文件。
如果你導(dǎo)出的Excel沒有什么高級用法的話,只是做導(dǎo)出數(shù)據(jù)用那么建議使用本方法,要比PHPexcel要高效的多。
二十萬數(shù)據(jù)導(dǎo)出大概需要2到3秒。
/** * 導(dǎo)出excel(csv) * @data 導(dǎo)出數(shù)據(jù) * @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編碼,一定要轉(zhuǎn)換,否則亂碼 $headlist[$key] = iconv("utf-8", "gbk", $value); } //將數(shù)據(jù)通過fputcsv寫到文件句柄 fputcsv($fp, $headlist); //計數(shù)器 $num = 0; //每隔$limit行,刷新一下輸出buffer,不要太大,也不要太小 $limit = 100000; //逐行取出數(shù)據(jù),不浪費內(nèi)存 $count = count($data); for ($i = 0; $i < $count; $i++) { $num++; //刷新一下輸出buffer,防止由于數(shù)據(jù)過多造成問題 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); } }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/21618.html
關(guān)于 PHP 導(dǎo)出 excel csv 常用的有 PHPexcel ,本文整理了一些其他方案。 高性能 Excel 擴展 sudo apt-get install -y zlib1g-dev git clone https://github.com/jmcnamara/libxlsxwriter.git cd libxlsxwriter make && sudo make install // ...
摘要:本文非原創(chuàng),基于學(xué)院在中使用實現(xiàn)文件導(dǎo)入導(dǎo)出功能這篇文章在實際中測試調(diào)整。簡介在中集成套件中的,從而方便我們以優(yōu)雅的富有表現(xiàn)力的代碼實現(xiàn)文件的導(dǎo)入和導(dǎo)出。 本文非原創(chuàng),基于laravel 學(xué)院《在 Laravel 5 中使用 Laravel Excel 實現(xiàn) Excel/CSV 文件導(dǎo)入導(dǎo)出功能》 這篇文章在實際中測試調(diào)整。 showImg(https://segmentfault.c...
摘要:導(dǎo)出功能在管理后臺算是比較常見的了。但是如果用來打開,超過行的數(shù)據(jù)都會看不見,這是程序的問題。本次導(dǎo)出數(shù)據(jù)量很大。原因數(shù)值顯示精度為位造成精度丟失。 導(dǎo)出功能在管理后臺算是比較常見的了。在實現(xiàn)導(dǎo)出表格類信息的功能時,可以選擇兩種實現(xiàn)方式: 導(dǎo)出為excel 導(dǎo)出為csv文件格式 用csv方式導(dǎo)出,則可以像導(dǎo)出txt一樣,以文本流的方式進行流式處理,不但能導(dǎo)出海量信息,而且流式處理占...
摘要:目前導(dǎo)出方式占用內(nèi)存較大。比如有些狀態(tài)字段,數(shù)據(jù)庫存的就是數(shù)字或只占一個字節(jié),完全換成中文狀態(tài)的話,可能達個字節(jié)甚至更多。若是必須要用中文形式。中文亂碼解決的話,其實也很簡單,函數(shù),將轉(zhuǎn)為編碼,在中打開就不會錯了 問題描述:目前、一般情況下,在web開發(fā)過程中,使用導(dǎo)入導(dǎo)出報表的情形很多。我們先說導(dǎo)出。項目數(shù)據(jù)量多導(dǎo)出行數(shù)較多,50萬行左右,選擇的是csv方式導(dǎo)出。針對以下應(yīng)用場景,導(dǎo)...
閱讀 3797·2021-09-29 09:34
閱讀 3770·2021-09-27 13:34
閱讀 566·2021-09-24 09:47
閱讀 3037·2019-08-30 15:53
閱讀 1808·2019-08-26 13:54
閱讀 2086·2019-08-26 13:43
閱讀 531·2019-08-23 14:47
閱讀 1741·2019-08-23 14:28