HTML表格* .xls编码问题

时间:2011-04-10 20:14:19

标签: php xls

我的导出脚本:

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中打开时,一切都没问题,除了......所有的值都写得不正确,所有Ä, ņÅ依此类推,而不是“”左右。

我应该怎样做才能防止这种情况?

提前致谢!

2 个答案:

答案 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>