【问题标题】:Is there an alternative to open-xml sdk to generate word documents是否有替代 open-xml sdk 来生成 word 文档
【发布时间】:2010-06-15 11:23:10
【问题描述】:

我正在尝试使用 open xml sdk 生成 word 文档。当文档很小时,这没问题(而且相当容易)。当文档变大(+500 页)时,我注意到性能(持续时间、内存使用...)显着下降。

谷歌搜索这个问题我遇到了some posts,指出了同样的问题。对于 excel,有spreadsheetgear 的解决方案。

我想知道是否有可以替代这个的 word 或者是否有其他解决方案可以生成 word 文档?

谢谢, 耶勒

【问题讨论】:

  • 我只是直接使用System.IO.Packaging 并自己处理XML 中的所有转换。 SDK 并没有真正为我提供我自己做不到的任何事情。
  • 我需要将一个包含数据的 xml 文档合并到 word 文档中。为此,我使用 flexDoc (flexdoc.codeplex.com) 标记需要插入数据的位置。这行得通,但它真的很慢。你知道更好的方法吗?
  • 我没有,除了重新创建与 flexDoc 类似的功能。它使用的是 OOXML-SDK 本身,这可能会使事情变得稍微慢一些。它还使用 XSLT,这可能会很慢,具体取决于它的创建方式。最后,它看起来像是在使用 Winword 客户端——这可能是它显着减慢速度的原因。抱歉,我无法提供更多帮助。

标签: ms-word openxml openxml-sdk


【解决方案1】:

我写了一篇关于生成 Open XML WordprocessingML 文档的博文系列。我采用的方法是创建模板 Word 文档,插入内容控件,然后在这些内容控件中编写 XPath 表达式以指定要从源 XML 数据文件中提取的 XML。我还探索了另一种在 Open XML 内容控件中编写 C# 代码的方法。这种方法也有效。

http://ericwhite.com/blog/map/generating-open-xml-wordprocessingml-documents-blog-post-series/

-埃里克

【讨论】:

    【解决方案2】:

    你可以看看http://docx.codeplex.com/

    在 Java 上,您可以使用 docx4j。如果你够勇敢,你可以通过 IKVM 为它创建 DLL...

    【讨论】:

      【解决方案3】:

      我决定选择Aspose Words。它真的很快而且对资源(CPU、内存)的要求不是很高。它的缺点是相当昂贵。我还调查了Softartisans Office writer。可能性是一样的,但由于我目前工作的公司已经使用了其他 Aspose 组件,我们决定使用 Aspose Word。

      【讨论】:

      • 为了将来参考,您可以尝试的另一个解决方案是GemBox.Document,性能快速、易于使用且便宜得多。
      猜你喜欢
      • 1970-01-01
      • 2013-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多