什么是 XLSHTML?
Posted
技术标签:
【中文标题】什么是 XLSHTML?【英文标题】:What's XLSHTML? 【发布时间】:2011-01-20 07:37:31 【问题描述】:我想尽可能简单地生成一个文件,当用户双击该文件时该文件将在 Excel 中打开,并且具有一些最小的样式。
XLS 符合我的用户要求,但生成起来并不容易。 CSV 易于生成,但没有样式。 html 易于生成并且具有样式,但在双击时不会在 Excel 中打开(您可以文件->打开它,但这还不够,您可以将其另存为 .XLS,但随后用户会收到警告)。
我在这台 PC 上的文件扩展名关联中看到扩展名“.xlshtml”,即“Microsoft Office Excel HTML 文档”,默认情况下会在 Excel 中打开。这看起来很有希望。但是,我无法弄清楚它是什么。它不仅仅是 HTML(它给出了上述警告,表明我的纯 HTML 不是它)。我的 Excel 版本无法保存。 MSDN 上几乎没有任何内容,而且 Google 似乎只打开列出作为 Excel 文件可能的文件扩展名的页面。
有人知道这些是什么吗?它只是 Excel 喜欢的某种特殊形式的 HTML 吗?有人有我可以看到的样本吗?
编辑:根据 Divo 的提示,我找到了 this。它看起来像是 Office 2000 / 10 的一项功能,可让您在 XML 孤岛中使用 Office 的额外本机功能保存 HTML。它看起来像是一种相当严格的格式,他们不赞成使用,因为没有人使用它。我仍在查看我找到的文档,但我还没有弄清楚如何制作这种格式的文件。
【问题讨论】:
当心,它的 HTML 比 FrontPage 更糟糕 ;) 您是否尝试过制作一个普通、有效的 HTML 文件并将其扩展名为 .xlshtml? DA:是的(请参阅“它不仅仅是 HTML”)。显然还有比这更多的东西。 wwosik:我不在乎Excel导出时有多丑,如果我可以自己生成它,并且Excel可以读取它。 :-) 我认为您指的是 Excel 2000 的 Excel HTML 导出/导入。 【参考方案1】:将您的 HTML 保存为 filename.html(扩展名 .html)后,您可以使用一些基本格式,例如:
<body><table border="1">
【讨论】:
【参考方案2】:我可以创建以下文件:
<html>
<body>
<table>
<tr>
<td>1</td>
<td>2</td>
</tr>
<tr>
<td>3</td>
<td>4</td>
</tr>
</table>
</body>
</html>
...然后使用 .xls 扩展名保存它,然后我可以双击它并在 Excel 中打开它。在这种情况下,我没有收到警告。
当然,它没有样式,因此您必须对 MS 的专有 CSS 进行逆向工程,它在将 XLS 文件导出为 HTML 时喜欢使用。
【讨论】:
这里给出警告。要么你使用的是不同版本的 Excel,要么你有一些设置关闭了警告——我不能假设我的用户。【参考方案3】:我没有示例,但我敢打赌,它有相应的 XSD 或 DTD。也许尝试制作一个虚拟 Excel 文档并将其保存为该文档。如果它使用 DTD/XSD,它应该是内联的或在某处引用它。
【讨论】:
我需要什么版本的 Excel? (参见:“我的 Excel 版本无法保存”)以上是关于什么是 XLSHTML?的主要内容,如果未能解决你的问题,请参考以下文章
2016/2/24 . html . htm . shtml 的区别