我们将开发一个工具,它需要初始化大型文件夹结构(工程项目),使用多个结构化的many (Word,Excel)。因此,问题在于如何为这项任务提供最合适的MS技术。此任务非常类似于在web应用程序中从模板构建静态内容。
我甚至想到了办公室文档中的{{CustomTemplateEngine}}。但这肯定是个坏主意..。
我知道VSTO,但它似乎通常用于扩展带有外接程序的Office。我说的对吗?
另外,最好将这个文档生成模块实现为工作流,并从各种接口调用它。
好吧,欢迎任何建议。
发布于 2013-12-16 10:33:53
对于docx,您可以查看我的演示文稿http://www.slideshare.net/plutext/document-generation-2012osdcsydney,以了解各种方法。
有关xlsx,请参见http://office.microsoft.com/en-au/excel-help/overview-of-xml-in-excel-HA010206396.aspx。
我知道VSTO,但它似乎通常是为了扩展Office的外接程序。我说的对吗?
对,是这样。从文档生成的角度来看,您可以使用VSTO创建创作工具;这是我在内容控制数据绑定方法中用于创作的技术。
在运行时(批量生成),您可以(也可以说应该)避免依赖Word。这意味着在运行时组件中不使用VSTO。
发布于 2016-06-10 22:09:59
在花费了几个小时通过C#和VB.Net自动化MS来创建一个完全模板化的数据合并工具(而不是少量的烦恼)之后,我发现在批量生成文档时,它是非常慢的。当您忙着复制、删除和替换代码时,Word女士会在幕后做一些鬼鬼祟祟的事情,这会让人头疼。
同样,在完成了一个围绕Word构建的完整模板处理系统之后,我发现我可以加载一个文档,并在Word本身在69页主/详细文档上崩溃之前的3个小时内生成大约3700个PDF。在没有崩溃的情况下,我可以在一个真正的文档上每秒获得大约2个文档。

对比一下我在网上找到的一个商业图书馆。我能够在两天内转换我的代码来使用这个库。速度的增长是惊人的--在一个令人印象深刻的三页母版/细节上,几乎每秒有20份文档,其中包含页眉、页脚、页码等。同样的输入在3小时后崩溃,在不到5分钟的时间内通过商业图书馆--包括69页文档。我还获得了创建一个大型文档的能力(轻松),而不是创建数千个单独的文档。
总的来说,如果你这样做是为了生意,而且你的文档数量很小,你的功能列表很简单,而且你不介意处理单词怪癖,那就用Word创建你的文档,然后围绕一个坚实的商业库构建你的应用。
作为最后的手段,您可以在Word或Google中构建您的文档,并使用许多基于服务的可以批量创建和发送电子邮件的服务之一。
https://stackoverflow.com/questions/20545124
复制相似问题