【发布时间】:2013-01-11 22:03:33
【问题描述】:
您好,我正在使用 PHP 创建一个 Excel 文件。在打印一些数据之前,我正在设置标题:
header('Content-type: application/vnd.ms-excel; charset=utf-8');
然后我插入如下内容:
echo '<table><tr><td>täääst</td></tr></table>';
我的问题是 ä 没有正确显示在 excel 文件中。
我也有一个错误,当我打开文件时:
您尝试打开的文件“filename.xls”与文件扩展名指定的格式不同。在打开文件之前验证文件没有损坏并且来自受信任的来源。您现在要打开文件吗?
你能帮帮我吗?提前谢谢你。
【问题讨论】:
-
您不是在创建 Excel 文件,而是在编写 HTML 标记并告诉浏览器将其视为 .xls 文件......这不一样;并且内容类型字符集毫无意义....如果您想继续使用 HTML 标记,尽管它是一个 Excel 文件,您需要在 html 头块中设置字符集
-
而且因为 HTML !== XLS,除非您更改方法并使用专门为此目的编写的众多 PHP 库之一编写真正的 XLS 文件,否则您将收到这种不同的格式错误
-
如果您的目的很简单,那么您也可以简单地创建一个与 Excel 兼容的 CSV 文件。
标签: php excel character-encoding header content-type