Word文档生成

时间:2011-03-01 06:31:51

标签: c# .net ms-word

我们的产品将支持Word(和PDF)报告生成,我正在研究选择哪种技术。

目前我所知道的是Word自动化和OpenXML SDK。有优点和缺点每个人的利弊。

您对这两种技术或任何其他技术有任何经验,建议或意见吗?或者我们可以使用任何第三方实用程序/产品(可能基于前两种技术)我们希望尽可能多地分析解决方案。

4 个答案:

答案 0 :(得分:2)

如果您有选择,我会在一周中的任何一天使用OpenXML。 与Office Automation相比,它具有许多优势。

对我来说最有趣的是它可以在服务器上运行,而Office Automation则无法运行(因为您需要运行软件的PC /服务器上的办公室实例)。这将我们带到了第二点,它不需要Office实例来生成您的文档,Office自动化需要一个文档。 (这是因为办公室自动化将在后台运行办公室实例并对其执行所有操作。)

特别是当我们谈论大型文档或能够同时生成大量文档时,OpenXML将比Office Automation执行得更好。

总而言之,Office自动化已成为过去,openXML是未来;)

如果您想深入了解OpenXML,请点击此处:OpenXML Developer

祝你好运!

答案 1 :(得分:0)

对于PDF生成,我过去使用过http://www.html-to-pdf.net。这提供了很好的支持,我认为也可以用来生成word文档...查看那里的网站......

如果您使用的是Web表单,我遇到了一个HTTPS问题 - 我在此列出了解决方案:

http://blogs.msdn.com/b/sajoshi/archive/2010/12/13/using-pdfconverter-http-www-html-to-pdf-net-with-https-in-asp-net-mvc.aspx

答案 2 :(得分:0)

Docmosis提供云服务,可通过简单的api生成MS Word和PDF输出。报告或文档模板是Word或Open Office文档,可由非开发人员编辑和维护。一旦上传到系统,您的应用程序就可以简单地调用服务并指定数据作为JSON或XML注入到文档中。然后将结果流回,通过电子邮件发送或存储在存储中以便以后访问。输出可以是doc,pdf或html。

该服务提供了广泛的模板功能,因此支持非常复杂的报告要求。

我们发现的最好的事情是输出的外观变化可以由文档作者处理,而不是开发人员为我们节省了大量宝贵的时间(更不用说保存开发人员的理智)。

www.docmosis.com

答案 3 :(得分:0)

如果您想在代码中构建文档,OpenXML SDK绝对是您的选择。它是一个设计良好的API,充分利用LINQ类型语法。你可以快速掌握它,你会发现它非常强大且易于使用。

话虽如此,您可以在代码中拥有文档的所有逻辑。并且更改需要更改代码,并且随着时间的推移会变得很痛苦。如果你想要一个用Word设计文档的系统,你有几个选择 - 而Word自动化是最糟糕的。甚至微软也表示不在服务器上进行Office自动化。

您在Word中设计的最佳选择之一是Windward Reports(免责声明 - 我是那里的首席技术官)。使用Windward,您可以为您的设计获得Word的强大功能和简易性,新文档或现有文档的修订版不需要更改代码。采用这种方法的其他产品是XpertDoc和SoftArtisans(尽管它们都有每个模板的代码组件)。