PHP 导出Excel 中文文件名及格式化数字为文本

作者: jaclon 分类: PHP 发布时间: 2013-01-25 09:38 ė 6没有评论

PHP导出Excel文件的时候使用英文名称一切正常,当文件名中包含中文的时候就出现问题了,在Firefox中中文部分直接没了,IE中有可能乱码。下面是本人整合的解决办法:

header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/vnd.ms-excel;charset=UTF-8");
header("Content-Type: application/download");
header("Content-Transfer-Encoding: binary ");
$ua = $_SERVER["HTTP_USER_AGENT"];
if (preg_match("/MSIE/", $ua)) {  
    header('Content-Disposition: attachment; filename="' . rawurlencode($filename) . '"');
} else if (preg_match("/Firefox/", $ua)) {  
    header('Content-Disposition: attachment; filename*="utf8\'\'' . $filename . '"');
} else {  
    header('Content-Disposition: attachment; filename="' . $filename . '"');
}

当我们在输出的字段内容是一长串数字字符串,Excel自动以科学计数法显示;如果想要正常显示数字,可以在表格上加上如下样式

.ns {vnd.ms-excel.numberformat:@}

其它样式
1) 文本:vnd.ms-excel.numberformat:@
2) 日期:vnd.ms-excel.numberformat:yyyy/mm/dd
3) 数字:vnd.ms-excel.numberformat:#,##0.00
4) 货币:vnd.ms-excel.numberformat:¥#,##0.00
5) 百分比:vnd.ms-excel.numberformat: #0.00%

本文出自 肥蕉博客@IT技术,热门话题,生活随笔,美图欣赏,转载时请注明出处及相应链接。

本文永久链接: http://www.bananawolf.com/html/2013/01/905.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*

Ɣ回顶部