Word处理控件Aspose.Words功能演示:如何使用 Java 从模板动态生成 Word 文档

您所在的位置:网站首页 qt导出word Word处理控件Aspose.Words功能演示:如何使用 Java 从模板动态生成 Word 文档

Word处理控件Aspose.Words功能演示:如何使用 Java 从模板动态生成 Word 文档

2023-04-13 12:23| 来源: 网络整理| 查看: 265

aspose下载

Aspose.Words是一种高级Word文档处理API,用于执行各种文档管理和操作任务。API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word。此外,

Aspose API支持流行文件格式处理,并允许将各类文档导出或转换为固定布局文件格式和最常用的图像/多媒体格式。

Aspose.words 最新下载

报告生成过程通常包括填充包含所需字段占位符的预定义文档模板。报告引擎将模板文档作为输入,用数据动态填充占位符并生成结果报告。本文还将展示一个类似的用例,您可以通过使用 Java 以编程方式动态填充 Word 模板来生成 Word 文档。

要从 DOCX 模板生成 Word 文档,我们将使用 Aspose.Words for Java API 提供的 LINQ Reporting Engine。 LINQ 报告引擎支持用于 Word 模板的文本、图像、列表、表格、超链接和书签的各种标记。包含这些标签的模板文档由引擎填充来自 Java 对象以及 XML、JSON 或 CSV 数据源的数据。因此,让我们开始使用 Java 从模板生成 Word 文档。

本文将介绍如何使用以下模板从模板生成 Word 文档:

Java 对象的值, XML 数据源, JSON数据源, CSV 数据源。 安装 Aspose.Words for Java - Word 自动化和报告生成 API

您可以下载 Aspose.Words for Java JAR 或使用以下配置将其添加到基于 Maven 的应用程序中。

存储库:

AsposeJavaAPI Aspose Java API https://repository.aspose.com/repo/ 依赖: com.aspose aspose-words 20.1 pom 使用 Java 对象从模板生成 Word 文档

要开始生成报告,我们首先通过使用 Java 对象中的值填充模板来创建一个 Word 文档。为了定义文档模板,创建一个新的 Word 文档,插入以下标签并将其保存为 DOCX 文档。

says: "."

在上面的模板中,“s”将被视为 Java 类的对象,用于填充标签。因此,让我们创建一个名为 Sender 的类,其中包含两个数据成员。

public class Sender { public Sender(String name, String message) { _name = name; _message = message; } public String getName() { return _name; } public String getMessage() { return _message; } private String _name; private String _message; } 现在,是时候将 Word 模板传递给 LINQ 报告引擎并根据 Sender 对象的值生成 Word 文档了。以下是生成Word文档的步骤: 创建 Document 对象并使用模板的路径对其进行初始化。 创建并初始化 Sender 类的对象。 创建一个 ReportingEngine 类的对象。 使用接受文档模板、数据源和数据源名称的 ReportingEngine.buildReport() 方法构建报表。 使用 Document.save() 方法保存生成的 Word 文档。

以下代码示例展示了如何使用 Java 对象的值从 Word 模板生成 Word 文档。

// 创建 Document 对象并使用 DOCX 模板进行初始化。 Document doc = new Document("template.docx"); // 创建发件人对象。 Sender sender = new Sender("LINQ Reporting Engine", "Hello World"); // 创建 ReportingEngine 对象。 ReportingEngine engine = new ReportingEngine(); // 建立报告。 engine.buildReport(doc, sender, "s"); // 另存为 Word 文档。 doc.save("word.docx"); 输出

使用 Java 对象通过模板生成 word 文档

使用 XML 数据从模板创建 Word 文档

现在让我们更进一步,看看如何在有点复杂的场景中使用 XML 数据源填充 Word 模板。以下是我们将用于填充 Word 模板的 XML 数据源。

John Doe 30 1989-04-01 4:00:00 pm Jane Doe 27 1992-01-31 07:00:00 am John Smith 51 1968-03-08 1:00:00 pm 在这种情况下,我们将在模板文档中为 XML 数据源中的多条记录使用以下标记。 Name: , Age: , Date of Birth: Average age: >

在这种情况下,用于生成 Word 文档的 Java 代码是相同的,除了将 Java 对象作为数据源传递之外,我们将在 ReportingEngine.buildReport() 方法中传递 XmlDataSource 对象。以下代码示例展示了如何通过使用 Java 中的 XML 数据源填充文档模板来创建 Word 文档。

// 创建 Document 对象并使用 DOCX 模板进行初始化。 Document doc = new Document("template.docx"); // 加载 XML XmlDataSource dataSource = new XmlDataSource("./datasource.xml"); // 创建 ReportingEngine 对象。 ReportingEngine engine = new ReportingEngine(); // 建立报告。 engine.buildReport(doc, dataSource, "persons"); // 另存为 Word 文档。 doc.save("word.docx"); 输出

在Java中使用XML模板生成word文档

使用 JSON 数据从模板生成 Word 文档

现在让我们看看如何使用 JSON 数据源从 DOCX 模板生成 Word 文档。以下是我们将在此示例中使用的 JSON 数据。

[ { Name: "John Smith", Contract: [ { Client: { Name: "A Company" }, Price: 1200000 }, { Client: { Name: "B Ltd." }, Price: 750000 }, { Client: { Name: "C & D" }, Price: 350000 } ] }, { Name: "Tony Anderson", Contract: [ { Client: { Name: "E Corp." }, Price: 650000 }, { Client: { Name: "F & Partners" }, Price: 550000 } ] }, ] 在此示例中,我们将生成 Word 文档,其中包含按经理分组的客户列表。根据这种情况,DOCX 模板将如下所示: Manager: Contracts: - ($) 为了加载 JSON 数据源,Aspose.Words 提供了 JsonDataSource 类。以下代码示例展示了如何使用 Java 中的 JSON 数据源从模板创建 Word 文档。 // 创建 Document 对象并使用 DOCX 模板进行初始化。 Document doc = new Document("template.docx"); // 加载 JSON JsonDataSource dataSource = new JsonDataSource("datasource.json"); // 创建 ReportingEngine 对象。 ReportingEngine engine = new ReportingEngine(); // 建立报告。 engine.buildReport(doc, dataSource, "managers"); // 另存为 Word 文档。 doc.save("word.docx"); 输出

在 Java 中使用 JSON 创建 word 文档

使用 CSV 数据从模板生成 Word 文档

最后但同样重要的是,让我们看看如何通过使用以下 CSV 数据源填充 Word 模板来生成 Word 文档。

John Doe,30,1989-04-01 4:00:00 pm Jane Doe,27,1992-01-31 07:00:00 am John Smith,51,1968-03-08 1:00:00 pm 本示例将使用以下 Word 模板: Name: , Age: , Date of Birth: Average age: > 为了处理 CSV 数据源,Aspose.Words 提供了 CsvDataSource 类。以下代码示例展示了如何使用 Java 中的 CSV 数据源生成 Word 文档。 // 创建 Document 对象并使用 DOCX 模板进行初始化。 Document doc = new Document("template.docx"); // 加载 CSV CsvDataSource dataSource = new CsvDataSource("datasource.csv"); // 创建 ReportingEngine 对象。 ReportingEngine engine = new ReportingEngine(); // 建立报告。 engine.buildReport(doc, dataSource, "persons"); // 另存为 Word 文档。 doc.save("word.docx"); 输出

在java中使用CSV创建word文档

以上便是如何使用 Java 从模板动态生成 Word 文档的过程,要是您还有其他关于产品方面的问题,欢迎咨询我们,或者加入我们官方技术交流群

欢迎下载|体验更多Aspose产品

点此获取更多Aspose产品信息 或 加入Aspose技术交流群(761297826) 标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至[email protected]

上一篇:Word控件Spire.Doc 【脚注】教程(3): 在段落中插入脚注 下一篇:界面组件Telerik ASP.NET MVC使用指南 - 如何自定义网格过滤(二)


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3