Heim > Backend-Entwicklung > PHP-Tutorial > Ausführliche Erklärung, wie man Excel (CSV) effizient mit PHP exportiert

Ausführliche Erklärung, wie man Excel (CSV) effizient mit PHP exportiert

藏色散人
Freigeben: 2023-04-09 22:56:01
nach vorne
8416 Leute haben es durchsucht

In diesem Artikel erfahren Sie, wie Sie Excel (CSV) effizient mit PHP exportieren. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.

CSV ist die englische Abkürzung für Comma Separated Value (Comma Separated Value), bei dem es sich normalerweise um eine reine Textdatei handelt . CSV,是Comma Separated Value(逗号分隔值)的英文缩写,通常都是纯文本文件。

如果你导出的Excel没有什么高级用法的话,只是做导出数据用那么建议使用本方法,要比PHPexcel要高效的多。

二十万数据导出大概需要23

Wenn das von Ihnen exportierte Excel keine erweiterte Verwendung hat und nur zum Exportieren von Daten dient, dann wird empfohlen, diese Methode zu verwenden, die effizienter ist als PHPexcel Viel. Der Export von zweihunderttausend Daten dauert etwa 2 bis 3 Sekunden.
 /**
 * 导出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);
    }
  }
Nach dem Login kopieren
empfiehlt: „🎜PHP-Video-Tutorial🎜“🎜

Das obige ist der detaillierte Inhalt vonAusführliche Erklärung, wie man Excel (CSV) effizient mit PHP exportiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:segmentfault.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage