reko_3 发表于 2017-4-6 11:10:16

PHP中最简单的excel导出程序

  这里的文件编码是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;
}
 
页: [1]
查看完整版本: PHP中最简单的excel导出程序