我的导出脚本:
if($_POST){
$file = 'FKDB_XLS';
$filename = $file."_".date("Y-m-d_H-i",time());
header("Content-type: application/vnd.ms-excel; charset=utf-8"); // dunno if the charset does anything for this application type..
header("Content-Disposition: attachment; filename=$filename");
echo stripslashes($_SESSION['item']); unset($_SESSION['item']);
exit;
}
基本上,它只是将HTML($_SESSION['item']
作为<table>{rows}</table>
)转换为* .xls,并允许Excel从该数据中绘制表格,正如大多数人所知道的那样。
问题是,当在Excel中打开时,一切都没问题,除了......所有的值都写得不正确,所有Ä, ņÅ
依此类推,而不是“”左右。
我应该怎样做才能防止这种情况?
提前致谢!
答案 0 :(得分:4)
如果要编写HTML标记以导入到Excel中,则需要确保在HTML标头中设置相应的元标记。在Content类型中指定charset将完全没有任何效果。如果您只是编写一个表,然后将其包装在HTML / HEAD / BODY等中,以便您可以设置HEAD元标记。
我仍然不明白为什么人们编写HTML并为文件提供xls扩展名,因为它很容易创建一个真正的Excel文件!
答案 1 :(得分:3)
将其添加到HTML表格中,以便Excel即时阅读:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>