国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

PHP高效導(dǎo)出Excel(CSV)

DoINsiSt / 777人閱讀

摘要:,是逗號分隔值的英文縮寫,通常都是純文本文件。如果你導(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)出大概需要23秒。

 /**
 * 導(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

    關(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 // ...

    付永剛 評論0 收藏0
  • 在 Laravel 5 中使用 Laravel Excel 實現(xiàn) Excel/CSV 文件導(dǎo)入導(dǎo)出

    摘要:本文非原創(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...

    XFLY 評論0 收藏0
  • 關(guān)于PHP導(dǎo)出CSV文件的實現(xiàn)過程以及一些經(jīng)常遇到的問題研究

    摘要:導(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)出海量信息,而且流式處理占...

    用戶83 評論0 收藏0
  • 導(dǎo)出CSV文件格式錯誤的小結(jié)

    摘要:目前導(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)...

    Taonce 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<