代码之家  ›  专栏  ›  技术社区  ›  Patrick Linskey

如何加快从C#生成Word文件的速度?

  •  5
  • Patrick Linskey  · 技术社区  · 15 年前

    我正在开发一个生成相对大量单词输出的应用程序。目前,我们正在使用Word Interop服务来创建文档,但速度相当慢,尤其是在旧版(2007年以前)的Office中。我们想加快一代人的速度。

    我还没有做过很多评测,但我很有信心问题是我们正在进行大量的COM调用。我希望评测会产生一部分比其他调用慢的调用,但我的直觉告诉我,这可能是COM开销(或单词互操作开销)的问题,而不仅仅是一些慢调用。

    我们正在评估的一种方法是通过编程方式从一个模板生成和打开Word文件(通过互操作),该模板具有一个宏,该宏知道如何使用平面文件并创建必要的输出。我们感兴趣的是关于这种方法的反馈,以及任何其他加快速度的想法。

    2 回复  |  直到 8 年前
        1
  •  5
  •   Crispy    15 年前

    如果你买得起的话,我推荐一种OSE.Words产品。非常快,无需安装Word。

    而且它比office互操作更易于使用。

        2
  •  1
  •   Bridge user2173966    8 年前

    您的宏方法正是我们加速缓慢的excel互操作(我认为使用2003版)的方式。

    我们发现(至少在excel中是这样)大部分的缓慢都是由于通过互操作重复的单个调用造成的。我们开始组合命令(即,格式化大范围,然后根据需要更改特定单元格,而不是单独格式化每个单元格),并从逻辑上转移到宏。

    我认为宏+模板的方法可以很好地进行转换。