什么是 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?的主要内容,如果未能解决你的问题,请参考以下文章

PHPCMS shtml设置

2016/2/24 . html . htm . shtml 的区别

初次用fastdfs,请教关于上传文件的问题

IE无法显示.shtml格式网页

解析好的静态页面.shtml浏览器无法解析.需要apache解析后再返回给浏览器

什么是端口?