PHP生成CSV文件及其导出CSV

PHP 专栏收录该内容
156 篇文章 0 订阅

PHP生成CSV文件

//提前创建对应的文件路径
$filePath = '/tmp/乐杨俊/';
if (!file_exists($filePath)) {
   mkdir($filePath, 0777, true); 
}

//创建CSV文件
$fileName = $filePath . iconv('UTF-8', 'GB2312//IGNORE', "leyangjun.csv";
$fp= fopen($fileName, 'w');
chmod($fileName, 0777);

//写入头部内容
fputcsv($fp, explode(',', mb_convert_encoding('姓名,年龄', 'gbk', 'utf-8')));

//主体内容(可改成循环处理)
fputcsv($fp,[iconv('UTF-8', 'GB2312//IGNORE', '乐杨俊'),18]);
fputcsv($fp,[iconv('UTF-8', 'GB2312//IGNORE', '乐杨俊2'),18]);
fputcsv($fp,[iconv('UTF-8', 'GB2312//IGNORE', '乐杨俊3'),18]);
fclose($fp);

CSV导出方法

//调用demo
$filename = '乐杨俊-'.date('Ymd');
$this->exportData($filename,"id,日期,金额,交易单ID",[
	[1,'2020-07-28',1000,123456789],
	[2,'2020-07-29',1000,222334456],
]);

/**
 * 导出CSV
 * @param $filename 文件名
 * @param $title 标题
 * @param $data 数据
 */
protected function exportData($filename,$title,$data){
    header("Content-Type: text/csv;charset=UTF-8");
    header("Content-Type: application/force-download;");
    header('Content-Disposition: attachment; filename="' . $filename.".csv");

    if(is_array($title)){
        $outputData = implode(",", $title)."\n";
    }else{
        $outputData = $title."\n";
    }

    if(!empty($data) && is_array($data)){
        foreach($data as $k){
            $outputData .= implode(",",$k)."\n";
        }
    }

    $outputData = urldecode($outputData);
    echo mb_convert_encoding($outputData,'gbk','utf-8');
}
  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

打赏
文章很值,打赏犒劳作者一下
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页

打赏

乐杨俊

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值