用csv格式导出数据

        为什么要用csv数据格式?

        CSV与Excel(.xls) - 有什么区别?

        https://www.guru99.com/excel-vs-csv.html


        csv导出数据,下载存储到默认地址文件 和 另存为新的目录地址  的简单处理。

        1.准备数据

        2.拼接文本标题

        3.拼接文本内容

        4.整个数据内容

        6.写入文件

        7、下载方式的选择(默认地址?or 另存为?)

if (isset($_GET['action']) && $_GET['action'] == 'make'){
    $fp = @fopen("demo_csv.csv","a"); //打开csv文件,如果不存在则创建
    $datas = Array(
        array(
            'time' => '2015-12-05 15:45:52.2400',
            'vname' => '客人1',
            'type' => '发票业务咨询',
            'msg' => '账号未注销admi"n"的内"部12'."\n"."123"."\n\r"."3323"
        ),
        array(
            'time' => '2015-12-05 15:45:52.2400',
            'vname' => '客人2',
            'type' => '订单业务咨询',
            'msg' => '週日24:00admin"的"内部"12'."\n"."123"."\n\r"."3323"
        )
    );
    
    $title_new = Array('时间','用户名称','咨询类型','聊天记录'); 
    $fields    = Array('time','vname','type','msg');
    $title     = '';
    $strs      = '';
    
    //循环获取excel标题
    foreach ($title_new as $title_t) {
        $title = $title.",".$title_t;
    }

    //循环获取excel每行内容
    foreach ($datas as $k=>$data) 
    {
        $str ='';
        foreach ($fields as $field) {
            $data[$field]=str_replace("\"","'",$data[$field]);
            $str=$str.',"'.$data[$field].'"';
        }
        $strs=$strs.substr($str,1)."\n";
        unset($str);
    }
    $title    = substr($title,1);
    
    $data_str = $title."\n".$strs;
    //$data_str = iconv("utf-8","gb2312//IGNORE",$data_str);
    $data_str = mb_convert_encoding($data_str, "GBK", "UTF-8");  
    
    export_csv('11.csv', $data_str);die;
    
    if(!fputs($fp,$data_str)){
        echo '写入文件失败~';
    }
    else{
        echo '写入文件成功~';
    }
    fclose($fp); //关闭文件句柄
}
echo "<br>";
echo "<a href='?action=make'>生成csv文件</a>";


function export_csv($filename,$data){ 
    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 $data;exit;
}

        写入到默认地址,注释 export_csv('11.csv', $data_str);die; 该行内容即可。

        冷暖自知一抹茶ck

        

冷暖自知一抹茶ck
请先登录后发表评论
  • 最新评论
  • 总共0条评论