在模板运行时,poi-tl会将函数的参数传递给函数并执行相应的操作。 5.表达式语法:使用表达式语法来执行数学计算、字符串拼接等操作,例如:{{name + " " + age}}。在模板运行时,poi-tl会将表达式的值计算出来并输出。 以上是一些常用的poi-tl模板语法,还有更多的语法和功能可以在官方文档中找到。
2. 表达式,可以在模板中使用一些简单的表达式,比如算术运算、逻辑运算等。 3. 条件判断,模板语法支持if-else条件判断,可以根据条件动态控制文档的生成。 4. 循环,可以使用循环语句在模板中遍历集合或数组,并重复生成文档的某个部分。 举例来说,如果我们想要生成一个包含动态数据的Word文档,可以先设计好Word文档的模板...
poi-tl在模板标签表达式无法计算结果时默认会认为标签对应的数据为null,当标签对应的数据为null或者不合法时,模板标签默认会被清空而不是保留,这种行为被称为静默模式,我们可以通过配置来改变这种行为。 一个模板标签表达式的结果无法被计算的时候,可以通过ElMode来配置行为: // 默认行为,EL静默模式,表达式计算错误的情...
条件表达式错误:确保你的条件表达式是正确的,并且符合Java的语法。例如,gender == 'male'是正确的,但gender = 'male'(使用了赋值运算符而不是比较运算符)是错误的。 数据类型不匹配:确保你在模板中使用的数据类型与你在Java代码中设置的数据类型相匹配。例如,如果模板中的条件是基于字符串比较的,那么你在Java代码...
完全支持SpringEL表达式,可以扩展更多的表达式:OGNL, MVEL… 样式 模板即样式,同时代码也可以设置样式 模板嵌套 模板包含子模板,子模板再包含子模板 合并 Word合并Merge,也可以在指定位置进行合并 用户自定义函数(插件) 插件化设计,在文档任何位置执行函数 注意: 只能操作.docx格式的word,不能操作.doc格式的word. 只...
强大的表达式 完全支持SpringEL表达式,可以扩展更多的表达式:OGNL, MVEL… 标签定制 支持自定义标签前后缀 文本框 文本框内标签支持 样式 模板即样式,同时代码也可以设置样式 模板嵌套 模板包含子模板,子模板再包含子模板 合并 Word合并Merge,也可以在指定位置进行合并 用户自定义函数(插件) 在文档任何位置执行函数 我...
强大的表达式完全支持SpringEL表达式,可以扩展更多的表达式:OGNL, MVEL… 标签定制支持自定义标签前后缀 文本框文本框内标签支持 样式模板即样式,同时代码也可以设置样式 模板嵌套模板包含子模板,子模板再包含子模板 合并Word合并Merge,也可以在指定位置进行合并 ...
Expression Language 完全支持SpringEL表达式,可以扩展更多的表达式:OGNL, MVEL… 样式 模板即样式,同时代码也可以设置样式 模板嵌套 模板包含子模板,子模板再包含子模板 合并 Word合并Merge,也可以在指定位置进行合并 用户自定义函数(插件) 插件化设计,在文档任何位置执行函数 3. 开发环境和依赖 JDK1.8+ Apache POI5.2...
template.docx(注意:如果标签内要使用运算符,需要开启Spring表达式): {{?produces}} {{_index + 1}}. {{=#this}} {{/produces}} 嵌套 嵌套又称为导入、包含或者合并,以+标识: {{+var}} 数据模型: DocxRenderData 推荐使用工厂 Includes 构建嵌套模型。 class AddrModel { private String addr; public...
为了在模板标签中使用SpringEL表达式,需要将标签配置为SpringEL模式: builder.useSpringEL(); 关于SpringEL的写法可以参见官方文档,下面给出一些典型的示例。 {{name}} {{name.toUpperCase()}} {{name == 'poi-tl'}} {{empty?:'这个字段为空'}} ...