【问题标题】:Convert Open XML Excel files to HTML将 Open XML Excel 文件转换为 HTML
【发布时间】:2010-07-23 04:34:49
【问题描述】:

我正在为 MS Office 2007 开发打印解决方案。办公自动化不适合我,因为它需要安装 Office。 Open XML Document Viewer 是通过 XSLT 转换将 Word 文件 (.docx) 转换为 HTML 格式的解决方案,但它仅适用于 .docx。可以将相同的技术用于 Excel 电子表格文件吗?

【问题讨论】:

  • 我们说的是压缩开放标准 (.xlsx) 还是 SpreadsheetML (.xml) 格式?
  • 当然是电子表格ML。但是 (.xlsx) 只是打包了带有资源的 SpreadsheetML xml 文件。我需要从带有提取和链接资源的 xml 文件生成 html。
  • @necrostaz : 我不相信 XLSX 只是重新打包的 SpreadsheetML,我认为它们与我记忆中的样子完全不同。
  • 好的,SpreadsheetML 有几个版本,我的意思是由 ECMA 指定并用于 Office 2007 及更高版本的 Open XML SpreadsheetML。它指定了文件、资源、关系等以及打包在 xlsx 中的所有内容。
  • necrostaz 是对的。 XSLX 是 Open Document 格式的 SpreadsheetML(以及包中的任何其他 ML,最常见的是 DrawingML)的打包版本。

标签: c# .net ms-office openxml


【解决方案1】:

您可以使用这篇文章XSL transformation of SpreadsheetML to HTML 作为起点来开发您自己的转换。您还可以查看OpenXML/ODF Translator Add-ins for Office 中的开源 XSLT,以了解在 OOXML 之外的任何转换中可能需要考虑的一些事情。要记住的一件事是,SpreadsheetML 在包内的文件结构中与 PresentationML 比与 WordprocessingML 更相似(即,对于每个工作表,都有一个单独的文件)。

如果您从 .NET 执行此操作,我会从 LINQ 而不是 XSLT 执行此操作。我已经完成了从 DrawingML 到 SVG 的转换,Linq 使它变得容易(就与 XSLT 类似的功能而言,保持在 .NET 中等)

【讨论】:

  • 感谢您的回复!我已经研究过开放式办公室和 openxml-odf 翻译器代码,我还阅读了从 SpreadsheetML 到 HTML 的 XSL 转换文章,但我认为它没有更有效的方法。
【解决方案2】:

如果您正在查看 Excel 97-03 (xls) 或 Excel 2007 (xlsx) 文件,那么我建议您使用 FlexCel。我已经使用它了,它非常好,与竞争对手相比真的很便宜。

请注意,它并不完全支持 Excel 2007 中存在的所有格式,但我不认为。但它确实具有导出到 HTML 的内置功能。

【讨论】:

  • 谢谢,但专有或共享软件库不适合我:(
  • 你可能想把它放在原来的问题中,然后因为它不清楚。
【解决方案3】:

您可以编写一个 SpreadsheetML 解析器。 schema 可从 Microsoft 在线获取。

我不久前写了一篇文章,其中涵盖了数据、结构和基本格式,以便将其抛出一个库并将其重新保存为 XLS 文件。难度不大。

【讨论】:

  • 此架构适用于 2002 Office,但我需要 OpenXml SpreadsheetML 哪个架构很难,因此我需要找到任何现有的解决方案 :(
  • OpenXml 和 SpreadsheetML 不是一回事...SpreadsheetML 专门指 Office 2003 及更高版本中存在的 XML 格式。不是 XLSX 文件。如果仅指单个事物,请勿将 OpenXml 和 SpreadsheetML 组合在同一个句子中。
  • xslx = Excel Extensions to the Office Open XML SpreadsheetML msdn.microsoft.com/en-us/library/dd922181.aspx 和 open xml 社区中的任何地方都使用了 SpreadsheetMl 术语,但最初它是为 Office 2003 定义的。对于 Office 2003,它具有架构 urn:schemas-microsoft -com:office:spreadsheet,用于 XLSX - schemas.openxmlformats.org/spreadsheetml/2006/main
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-14
  • 2018-03-03
  • 2016-06-07
  • 2014-11-12
  • 1970-01-01
相关资源
最近更新 更多