我正在开发一个生成相对大量 Word 输出的应用程序。目前,我们正在使用 Word Interop 服务来创建文档,但速度很慢,尤其是在旧版(2007 年之前)的 Office 中。我们想加快生成速度。
我还没有做很多分析,但我非常确信问题在于我们正在进行大量的 COM 调用。我希望分析会产生比其他调用慢的调用子集,但我的直觉告诉我,这可能是 COM 开销(或 Word Interop 开销)的问题,而不仅仅是一些慢速调用。
此外,该产品可以生成 HTML 输出,并且该过程 (a) 非常快,并且 (b) 使用几乎相同的代码路径,只是针对特定于 HTML 的功能 block 使用了不同的子类。所以我很确定我们的算法从根本上来说并不慢。
所以...我正在寻找加速 Word 文件生成的替代方法的建议。
我们不能只将生成的 HTML 文件重命名为 .doc,我们也不能生成 RTF——在这两种情况下,重要的格式信息都会丢失,而在 RTF 的情况下,内联图形不能稳健地工作.
我们正在评估的方法之一是以编程方式从模板生成和打开 Word 文件(通过互操作),该模板具有知道如何使用平面文件并创建必要输出的宏。我们对有关该方法的反馈以及任何其他加快速度的想法感兴趣。
最佳答案
如果您负担得起,我会推荐 Aspose.Words 产品。非常快,无需安装 Word。
而且它比 office interop 更容易使用。
关于c# - 如何加快从 C# 生成 Word 文件的速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1863374/