时间: 2020-09-4|tag:34次围观|0 条评论

CSV文件是以纯文本形式存储的,一般以逗号为分隔符。
这里主要简单介绍下如何导出CSV文件。

一、浏览器导出CSV文件格式

/** * 导出CSV文件 */function exportCsv(){    // 需要导出的内容    $data = [        ['name' => '张三', 'score' => '80'],        ['name' => '李四', 'score' => '90'],        ['name' => '王五', 'score' => '60'],    ];    // 文件名,这里都要将utf-8编码转为gbk,要不可能出现乱码现象    $filename = $this->utfToGbk('导出csv文件.csv');    // 拼接文件信息,这里注意两点    // 1、字段与字段之间用逗号分隔开    // 2、行与行之间需要换行符    $fileData = $this->utfToGbk('姓名, 分数') . "\n";    foreach ($data as $value) {        $temp = $value['name'] . ',' .                $value['score'];        $fileData .= $this->utfToGbk($temp) . "\n";    }    // 头信息设置    header("Content-type:text/csv");    header("Content-Disposition:attachment;filename=" . $filename);    header('Cache-Control:must-revalidate,post-check=0,pre-check=0');    header('Expires:0');    header('Pragma:public');    echo $fileData;    exit;}/** * 字符转换(utf-8 => GBK) */function utfToGbk($data){    return iconv('utf-8', 'GBK', $data);}

二、在服务器生成CSV文件

/** * 下载CSV文件 */public function downLoadCsv(){    // 需要导出的内容    $data = [        ['name' => '张三', 'score' => '80'],        ['name' => '李四', 'score' => '90'],        ['name' => '王五', 'score' => '60'],    ];    // 文件名,这里都要将utf-8编码转为gbk,要不可能出现乱码现象    $filename = $this->utfToGbk('生成csv文件.csv');    // 拼接文件信息,这里注意两点    // 1、字段与字段之间用逗号分隔开    // 2、行与行之间需要换行符    $fileData = $this->utfToGbk('姓名, 分数') . "\n";    foreach ($data as $value) {        $temp = $value['name'] . ',' .            $value['score'];        $fileData .= $this->utfToGbk($temp) . "\n";    }    $filePath = __DIR__ . '/' . $filename;    // 将一个字符串写入文件    file_put_contents($filePath, $fileData);    return $filePath;}/** * 字符转换(utf-8 => GBK) */public function utfToGbk($data){    return iconv('utf-8', 'GBK', $data);}

 

 

 

 

文章转载于:https://www.cnblogs.com/woods1815/p/11875913.html

原著是一个有趣的人,若有侵权,请通知删除

本博客所有文章如无特别注明均为原创。
复制或转载请以超链接形式注明转自起风了,原文地址《使用PHP生成并导出CSV文件
   

还没有人抢沙发呢~