【问题标题】:jQuery exported file showing error while opening in ExceljQuery 导出的文件在 Excel 中打开时显示错误
【发布时间】:2016-11-29 16:01:20
【问题描述】:

我已经使用 jQuery 从 html 表中导出了一个 excel 文件。虽然它导出得很好,但当使用 Excel 打开它时,显示以下错误

“download.xls”的文件格式和扩展名不匹配。该文件可能已损坏或不安全。除非你相信它的来源,否则不要打开它。还是要打开吗?

我知道我们可以通过在服务器端创建 excel 或禁用系统注册表上的 extension hardening 来解决它。但是由于可用资源有限,这两个选项都超出了我的范围,我只需要在客户端修复它。

Excel 输出示例:

<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:x='urn:schemas-microsoft-com:office:excel' xmlns='http://www.w3.org/TR/REC-html40'><head><meta http-equiv="Content-type" content="text/html;charset=utf-8" />
<!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>My Worksheet</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]-->
</head>
<body>
<table>
<thead>
<th>Name</th>
<th>Class</th>
</thead>
<tbody>
<tr>
<td>Name 1</td>
<td>Class 1</td>
</tr>
</tbody>
<table>
</body>
</html>

任何帮助将不胜感激。

【问题讨论】:

    标签: javascript jquery excel


    【解决方案1】:

    我相信你不能,因为“.xls”文件实际上是由 HTML 和 CSS 组成的。这就是它显示错误的原因。你不考虑改用“.CSV”吗?

    【讨论】:

    • 你的意思不是导出html标签,而是导出为csv格式?
    • 是的。但这样做的缺点是 CSV 不会携带任何 CSS,只是纯文本。由于程序只会以逗号分隔的形式导出数据,而且如果您使用的是 MS Office,Excel 会自动将 CSV 文件识别为自己的。
    • 感谢@Hardyson 的建议。我认为没有任何样式就无法导出excel。
    猜你喜欢
    • 2015-08-25
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 2013-05-05
    • 1970-01-01
    • 2020-11-27
    • 1970-01-01
    相关资源
    最近更新 更多