我正在使用 word 中的 mailmerge 创建一个 word 文档,我需要根据条件变量显示一个词块:

<<if [var]>>
show text
<</if>>

我正在构建 json 对象以在 java 中传递一个 word 文档,例如:

<,java,aspose.words"/>
	














首页 > 解决方案 > 单词 Aspose 中的条件块 (<

我正在使用 word 中的 mailmerge 创建一个 word 文档,我需要根据条件变量显示一个词块:

<<if [var]>>
show text
<</if>>

我正在构建 json 对象以在 java 中传递一个 word 文档,例如:

<

问题描述

我正在使用 word 中的 mailmerge 创建一个 word 文档,我需要根据条件变量显示一个词块:

<<if [var]>>
show text
<</if>>

我正在构建 json 对象以在 java 中传递一个 word 文档,例如:

InputStream targetStream = new ByteArrayInputStream(objectMapper.writeValueAsString(object).getBytes());
            JsonDataSource ds = new JsonDataSource(targetStream);
            ReportingEngine engine = new ReportingEngine();
            engine.setOptions(ReportBuildOptions.ALLOW_MISSING_MEMBERS);
            engine.buildReport(docIstanza, ds, "obj");
            docIstanza.getMailMerge().setFieldMergingCallback(new HandleFieldMerging());

我很难理解如何在 word 文档中使用 if 指令。var 是一个布尔值。


邮件合并LINQ 报告引擎是用数据填充模板的两种不同方法。如果您使用 LINQ 报告引擎,那么在您的模板中您应该简单地将条件作为常规文本。 https://docs.aspose.com/words/net/using-conditional-blocks/

如果您使用邮件合并功能,您应该使用 MS Word MergeFields https://docs.aspose.com/words/java/mail-merge-template/ 在这种情况下显示条件内容,您应该使用 IF 字段。

在您的情况下,您从 JSON 获取数据,并且var变量的值是可为空的布尔值。在这种情况下,您必须使用<<if [var == true]>>

标签: javaaspose.words

解决方案


邮件合并LINQ 报告引擎是用数据填充模板的两种不同方法。如果您使用 LINQ 报告引擎,那么在您的模板中您应该简单地将条件作为常规文本。 https://docs.aspose.com/words/net/using-conditional-blocks/

如果您使用邮件合并功能,您应该使用 MS Word MergeFields https://docs.aspose.com/words/java/mail-merge-template/ 在这种情况下显示条件内容,您应该使用 IF 字段。

在您的情况下,您从 JSON 获取数据,并且var变量的值是可为空的布尔值。在这种情况下,您必须使用<<if [var == true]>>


推荐阅读