html格式的excel应用类型

Posted

技术标签:

【中文标题】html格式的excel应用类型【英文标题】:Application type for excel in html format 【发布时间】:2013-07-25 23:02:55 【问题描述】:

我想在 excel 中打开 html 文件,如果我将 mime 类型设置为 application/vnd.ms-excel,它会在文件中添加 .xls 扩展名,并且 excel 会警告该文件的格式与扩展名不同。 有没有办法仍然在 excel 中打开它,但没有警告并使用正确的扩展名?

附:基本上我的问题是是否有办法说这样的话:

header.setContentType("html/text");
header.setProgramToOpenFile("excel");

【问题讨论】:

“扩展强化”已添加到 Office 应用程序中,以在文件格式与文件扩展名不匹配时向用户发出警告。我猜也许您正在使用 xls 扩展名向客户端发送 HTML 数据?这将触发警告。如果您不希望这种情况发生,您必须发送一个实际的 Excel 格式文件(而不是伪装成 Excel 的 HTML 内容)。 blogs.msdn.com/b/vsofficedeveloper/archive/2008/03/11/… 您是正确的,扩展名与文件的内容不同,但我想知道是否有一种方法可以将扩展名与您希望打开此文件的应用程序分开指定。 警告用于防范可能的恶意文件:除了发送“正确”格式的文件之外,您无法从服务器端执行任何操作。 但警告仅针对内容与扩展名所暗示的内容不同的文件。如果扩展名和内容相同,则没有警告。例如。如果我尝试用 excel 打开 .html 文件,如果里面是 html 文件,它不会给我警告。 如果您将响应类型标记为 HTML,那么它将在浏览器中打开,因为这是 HTML 内容的默认处理程序。这是您只想为自己做的事情(即您对客户端有一些控制权)还是为其他用户(您无法控制)做这件事?如果它不只是为了你自己,那么我不确定它是否可行。 【参考方案1】:

右键单击 html 文件并选择“打开方式”。这将为您提供选项,如果未显示 Excel,请单击“选择默认程序...”。这将弹出打开方式对话框。如果您不希望系统上的每个 html 文件都使用 Excel 打开,请取消选中“始终使用选定的...”复选框。

如果 Excel 在此对话框中显示的列表中,您可以从那里选择它。如果不点击“浏览...”,然后找到您的 Excel 应用程序,在我的系统上,路径是:

C:\Program Files (x86)\Microsoft Office\Office12\EXCEL.EXE

但根据您的办公室版本等,您的情况可能会有所不同。

找到它后,它应该会在 Excel 中为您打开 html 文件。

编辑

注意事项:如果您在 Excel 中编辑 html 文件,它会显着更改文件(即其背后的代码发生更改,并且在 Web 浏览器中看起来不同),因此我建议您先进行备份,以防万一对结果不满意。

【讨论】:

我正在寻找程序化解决方案 - 我需要在 HTML 中设置什么标题,这样用户就不需要做任何你描述的事情,只需点击打开它就会打开而不会发出警告跨度> 我不确定您的建议是否可行,因为您要更改的是操作系统的行为。我做了一个快速搜索,但没有找到任何看起来像你要求的东西。这个 (glump.net/howto/web/…) 是我能找到的最接近的,这实际上也在更改文件扩展名,但可能值得在不更改扩展名的情况下尝试这个?

以上是关于html格式的excel应用类型的主要内容,如果未能解决你的问题,请参考以下文章

有关excel的模板应用问题

excel条件格式应用

应用规则后 Excel 条件格式公式更改

Aspose.Cells的介绍

excel批量把文本转换成HTML格式?

为啥将数据导出到 Excel 时日期格式会发生变化?