`

PHP中最简单的excel导出程序

    博客分类:
  • PHP
 
阅读更多

这里的文件编码是utf-8

 

    header("Content-type:text/html;charset=utf-8");

    //导出excel
    $array[] = array(
        '买家ID',
        '买家名称',
        '成交总金额(元)',
        '统计日期',
    );

    //csv标题
    $csvname = '分析表';
    //$csvname = iconv('utf-8','GB2312',$csvname);
    export_to_csv($array, $csvname, 'gb2312');
    exit;


    /**
     * 导出csv文件
     *
     * @param array $data 数据(如果需要,列标题也包含在这里)
     * @param string $filename 文件名(不含扩展名)
     * @param string $to_charset 目标编码
     */
    function export_to_csv($data, $filename, $to_charset = '')
    {
        if ($to_charset && $to_charset != 'utf-8')
        {
            $need_convert = true;
        }
        else
        {
            $need_convert = false;
        }

        header("Content-type: application/unknown");
        header("Content-Disposition: attachment; filename={$filename}.csv");
        foreach ($data as $row)
        {
            foreach ($row as $key => $col)
            {

                if ($need_convert)
                {
                    $col = iconv('utf-8', $to_charset, $col);   // 使用 ICONV 做字符集转换
                }
                $row[$key] = _replace_special_char($col);

            }
            echo join(',', $row) . "\r\n";
        }
    }

    /**
     * 替换影响csv文件的字符
     *
     * @param $str string 处理字符串
     */
    function _replace_special_char($str, $replace = true)
    {
        $str = str_replace("\r\n", "", $str);
        $str = str_replace("\t", "    ", $str);
        $str = str_replace("\n", "", $str);
        if ($replace == true)
        {
            $str = '"' . str_replace('"', '""', $str) . '"';
        }
        return $str;
    }
 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics