复杂的报表从 C# 以编程方式进入办公室 Word

本文关键字:方式进 办公室 Word 编程 报表 复杂 | 更新日期: 2023-09-27 17:55:12

首先,我想向编程社区打个招呼,我正在寻找一种从我的 Windows 窗体应用程序生成报告的方法,最好是,这份报告基本上是我正在创建的旅游创建软件中预配置天数的列表。

到处搜索过,似乎找不到有关如何开始创建报告的信息,我将所有信息保存到数据库中,我只需要能够将这些信息输入单词并按应有的顺序排序。

只是想被指出正确的方向,这样我就可以进一步研究它。

我想创建的确切内容是一个word文件,我希望我可以在这里分享,以便您可以真正理解我的意思。

如果可能的话,感谢您的关注和帮助。

复杂的报表从 C# 以编程方式进入办公室 Word

我可以为你指出正确的方向。Word文档以称为OpenXml的格式存储,无需直接使用Word即可创建和操作。这很好,因为您不想处理实际启动 Word 实例并自动执行它的代码(互操作)。它有点有效,但这不是我建议永远处理的事情。

OpenXml也不好玩,但它更好。您可以使用 Word "正常"创建文档,保存它,然后让应用程序将其用作模板,打开副本,填充一些数据,然后保存它。

以下是 OpenXml with Word 的参考。我不是说它很漂亮。不是。缺少文档。此有关添加文本的页面与上一页没有链接,即使许多其他主题也是如此。

有一些像这样的 nuget 包可以提供帮助。

我曾经做过一个POC,它通过使用OpenXml的模板打开和更改文档来完全按照您所描述的方式进行操作。我会看看我是否可以挖掘代码。但是,如果Word是绝对必要的,这绝对是一个不错的方向。

这是一个很长的镜头,但是你能用HTML输出吗?如果可以的话,这是一个更简单的选择。

你能使用Excel吗?这也是OpenXml,但是像EPPlus这样更容易使用的工具可以简化处理它,因为它不仅仅是最友好的工作。

我建议的一个选项是水晶报告。您可以从此处免费下载Visual Studio的Crystal Reports加载项。水晶报告是从各种数据源(包括 SQL)执行报告的简单方法。网上也有很多免费的教程,用于学习如何使用 CR。语法有点奇怪,但很容易使用。

该加载项允许您为应用程序创建报表,还可以构建可以显示、打印和导出 Crystal 报表的应用程序。

您可以将报告导出到 。RTF(富文本格式)文件。MS Word可以打开,编辑和转换RTF文档。它做得相当不错,但特殊格式可能需要一些工作。这条路线比尝试编写XML或其他任何东西要容易得多。我已经写了几份旨在导出到 RTF 的报告。我的老板运行报表,将其导出,然后在 Word 中对其进行编辑。他喜欢这些报道。

如果您打算开发大量报告,那么购买完整版的Crystal Reports是非常值得的。我相信他们目前使用的是 2016 版。

如果您确实想处理自动化 Word,Microsoft指南"使用 Office 对象模型自动化应用程序" 特定于 Word 的任务内容如下:https://msdn.microsoft.com/en-us/library/78whx7s6(v=vs.80).aspx

一个更大的例子:https://support.microsoft.com/en-us/kb/316384

首先,只需为正确的 Office 对象库添加对项目文件的程序集引用(例如:"Microsoft Word ##.0 对象库")。 请注意,您必须安装 Office 才能采用此方法。

祝你好运!