【问题标题】:PHP creating Excel file, problems with umlautsPHP创建Excel文件,变音符号问题
【发布时间】: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


【解决方案1】:

您不是在创建 Excel 文件。您正在创建一个 HTML 文件并告诉 excel 假装它是一个 .xls。这就是您收到“不同格式”警告的原因。

使用PHPExcel 创建原生 excel 文件(.xls 或 .xlsx)。

【讨论】:

    猜你喜欢
    • 2016-05-03
    • 2020-04-30
    • 1970-01-01
    • 2012-11-16
    • 1970-01-01
    • 2018-09-06
    • 1970-01-01
    • 2013-12-27
    • 2014-06-16
    相关资源
    最近更新 更多