Implementierungscode für PHP zum Exportieren von Excel-Dateien im CSV-Format

不言
Freigeben: 2023-04-03 20:02:01
Original
2794 Leute haben es durchsucht

Was dieser Artikel Ihnen bringt, ist der Implementierungscode für den Export von Excel-Dateien im CSV-Format über PHP. Er hat einen gewissen Referenzwert. Ich hoffe, er wird Ihnen hilfreich sein.

Rendering

Implementierungscode für PHP zum Exportieren von Excel-Dateien im CSV-Format

Quellcode-Analyse

index.php

<?php
require_once "./Export.php";//测试数据
$headerList= [&#39;列名1&#39;,&#39;列名2&#39;,&#39;列名3&#39;];
$data = [
    [&#39;值1&#39;,&#39;值2&#39;,&#39;值3&#39;],
    [&#39;值11&#39;,&#39;值22&#39;,&#39;值33&#39;],
    [&#39;值111&#39;,&#39;值222&#39;,&#39;值333&#39;]
];
$fileName = "测试导出文件名";
$tmp = [&#39;备份字段1&#39;,&#39;备份值1&#39;,&#39;&#39;,&#39;备份字段2&#39;,&#39;备份值2&#39;];
$export = new Export();$result = $export->exportToCsv($headerList,$data,$fileName,$tmp);
Nach dem Login kopieren

Export.php

<?php
class export{
    /**
     * params $headerList 头部列表信息(一维数组) 必传
     * params $data 导出的数据(二维数组)    必传
     * params $filename 文件名称转码 必传
     * params $tmp 备用信息(二维数组) 选传
     * PS:出现数字格式化情况,可添加看不见的符号,使其正常,如:"\t"
     **/
    public function exportToCsv($headerList = [] , $data = [] , $fileName = &#39;&#39; , $tmp = []){
        //文件名称转码
        $fileName = iconv(&#39;UTF-8&#39;, &#39;GBK&#39;, $fileName);        //设置header头
        header(&#39;Content-Type: application/vnd.ms-excel&#39;);
        header(&#39;Content-Disposition: attachment;filename=&#39; . $fileName . &#39;.csv&#39;);
        header(&#39;Cache-Control: max-age=0&#39;);        //打开PHP文件句柄,php://output,表示直接输出到浏览器
        $fp = fopen("php://output","a");        //备用信息
        foreach ($tmp as $key => $value) {            
        $tmp[$key] = iconv("UTF-8", &#39;GBK&#39;, $value);
        }       
         //使用fputcsv将数据写入文件句柄
        fputcsv($fp, $tmp);        
        //输出Excel列表名称信息
        foreach ($headerList as $key => $value) {            
        $headerList[$key] = iconv(&#39;UTF-8&#39;, &#39;GBK&#39;, $value);//CSV的EXCEL支持BGK编码,一定要转换,否则乱码
        }        
        //使用fputcsv将数据写入文件句柄
        fputcsv($fp, $headerList);        //计数器
        $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(&#39;UTF-8&#39;, &#39;GBK&#39;, $value);
            }
            fputcsv($fp, $row);
        }
    }
}
Nach dem Login kopieren

Link: https://pan.baidu.com/s/1e9BK6l5fY4aDDgYS7CLUig Passwort: v120

Verwandte Empfehlungen:

PHP So implementieren Sie Fuzzy-Abfragen (Grafikcode)

So implementieren Sie die Echtzeitbearbeitung von Tabellen mit PHP und Ajax (mit Code)

Das obige ist der detaillierte Inhalt vonImplementierungscode für PHP zum Exportieren von Excel-Dateien im CSV-Format. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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