使用 Java 对象从模板生成 Word 文档
要开始生成报告,让我们首先通过使用来自 Java 对象的值填充模板来创建 Word 文档。
为了定义文档模板,创建一个新的 Word 文档,插入以下标签并将其保存为 DOCX 文档。
<<[s.getName()]>> says: "<<[s.getMessage()]>>."
在上面的模板中,“
s
”将被视为将用于填充标签的 Java 类的对象。
因此,让我们创建一个名为
Sender
的类,
其中包含两个数据成员。
现在,是时候将 Word 模板传递给 LINQ 报告引擎并根据
Sender
对象
的值生成 Word 文档了
。
以下是生成Word文档的步骤:
以下代码示例展示了如何使用 Java 对象的值从 Word 模板生成 Word 文档。
<<foreach [in persons]>>Name: <<[Name]>>, Age: <<[Age]>>, Date of Birth: <<[Birth]:"dd.MM.yyyy">>
<</foreach>>
Average age: <<[persons.average(p => p.Age)]>>
在这种情况下,用于生成 Word 文档的 Java 代码将相同,除了将 Java 对象作为数据源传递之外,我们将
在
ReportingEngine.buildReport()
方法中
传递
XmlDataSource
对象
。
以下代码示例展示了如何通过使用 Java 中的 XML 数据源填充文档模板来创建 Word 文档。
<<foreach [in managers]>>Manager: <<[Name]>>
Contracts:
<<foreach [in Contract]>>- <<[Client.Name]>> ($<<[Price]>>)
<</foreach>>
<</foreach>>
为了加载 JSON 数据源,
Aspose.Words
提供了
JsonDataSource
类。
以下代码示例展示了如何使用 Java 中的 JSON 数据源从模板创建 Word 文档。
<<foreach [in persons]>>Name: <<[Column1]>>, Age: <<[Column2]>>, Date of Birth: <<[Column3]:"dd.MM.yyyy">>
<</foreach>>
Average age: <<[persons.average(p => p.Column2)]>>
为了处理 CSV 数据源,
Aspose.Words
提供了
CsvDataSource
类。
以下代码示例展示了如何使用 Java 中的 CSV 数据源生成 Word 文档。