当前位置: 首页 > news >正文

poi-tl 用word模板生成报告

采用的技术poitl:

官网地址:Poi-tl Documentation
github地址:GitHub - Sayi/poi-tl: Generate awesome word(docx) with template

原文链接:poi-tl—一个超级好用开源的Word模板引擎_李子捌的博客-CSDN博客_poitl

摘抄:

poi-tl是什么:

poi-tl是一个基于Apache POI的Word模板引擎,同时它也是一个免费开源(github地址)的Java类库,给Java程序员带来了word处理上的便捷。

poi-tl可以做什么:

    可以生成各类文档

poi-tl的编码模式

DO模式: Template + data-model = output

2.2.1 Template—模板
模板即Docx格式的Word文档

2.2.2 Data-model—数据
数据即模板中需要替换的数据结构,类似哈希或者字典,常用Map结构,其中key即需要替换的标签

2.2.3 Output—输出
输出即最终文档的流产生,可以是文件流或网络流等

原文链接:https://blog.csdn.net/qq_41125219/article/details/118198316

基本标签

1、文本:{{var}}

2、图片:{{@var}}

3、表格:{{#var}}

4、列表 :{{?var}} {{/var}} 

5、嵌套:{{var1.var2}}

例子:

模板:

{{?questionByMajors}}

3.{{charpterNum}}.{{no}} {{majorTypeChapter}}

{{remarkOfMajor}}{{questionSummaryOfMajor}}。

{{?questionByTypes}}

{{questionType}}

{{?questions}}

  1. 问题{{no}}

(1)问题描述:{{questionDetails}}

{{?fileDetails}}

图片{{no}}

{{@fileLink}}

{{/fileDetails}}

2违反条款:{{questionTerms}}

{{?fileTerms}}

图片{{no}}

{{@fileLink}}

{{/fileTerms}}

3问题分析:{{questionAnalyze}}

{{?fileAnalyze}}

图片{{no}}

{{@fileLink}}

{{/fileAnalyze}}

4整改建议:{{questionSuggest}}

{{?fileSuggest}}

图片{{no}}

{{@fileLink}}

{{/fileSuggest}}

5整改情况:{{expertSuggestion}}

{{/questions}}

{{/questionByTypes}}

{{/questionByMajors}}

 

生成效果:

补充:

注意:

变量的名字尽量不要重复,即使不在同一个嵌套层

表格标签需要多一个配置

word某一页设置成横向:

背景:在进行word报告的模板生成中,为了便于显示所有的内容,某一页需要设置成横向

操作:

点击页面布局,

点击右小角的三角 显示【页面设置】,可以设置应用于本节/整篇文档、插入点之后

在纸张方向上选择 横向 

 

相关文章:

  • leveldb-FilterBlock实现
  • 关于移动端H5获取微信非静默授权被拦截进入【微信快照页】问题及解决方案
  • token和JWT token区别、登录安全、页面权限、数据权限、单点登录
  • Liteos信号量的使用
  • 基于Verilog搭建一个卷积运算单元的简单实现
  • pytorch-实现mnist手写数字识别(彩色)
  • C/C++语言100题练习计划 99——找第一个只出现一次的字符
  • Go使用Gin+mysql实现增删改查
  • PIE-Engine:房山区洪涝灾害风险评价
  • 【我的渲染技术进阶之旅】如何编译Filament的windows版本程序?
  • 03 C++ 字符串、向量和数组
  • python 代码 C 执行
  • 字节外包凭借【ui自动化测试框架】成功进入内部编制
  • 用 Plop 加快项目相似代码生成
  • Codeforces Round #822 (Div. 2) 补题 (A、B、C)
  • JS中 map, filter, some, every, forEach, for in, for of 用法总结
  • 分享一款快速APP功能测试工具
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • cookie和session
  • flutter的key在widget list的作用以及必要性
  • github指令
  • Java 23种设计模式 之单例模式 7种实现方式
  • mysql innodb 索引使用指南
  • Travix是如何部署应用程序到Kubernetes上的
  • 闭包--闭包作用之保存(一)
  • 基于Android乐音识别(2)
  • 基于MaxCompute打造轻盈的人人车移动端数据平台
  • 利用DataURL技术在网页上显示图片
  • 前端面试之闭包
  • 使用 QuickBI 搭建酷炫可视化分析
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 探索 JS 中的模块化
  • 小李飞刀:SQL题目刷起来!
  • 用简单代码看卷积组块发展
  • 自动记录MySQL慢查询快照脚本
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • 整理一些计算机基础知识!
  • #QT项目实战(天气预报)
  • #我与Java虚拟机的故事#连载10: 如何在阿里、腾讯、百度、及字节跳动等公司面试中脱颖而出...
  • (23)Linux的软硬连接
  • (3)llvm ir转换过程
  • (ZT)一个美国文科博士的YardLife
  • (含react-draggable库以及相关BUG如何解决)固定在左上方某盒子内(如按钮)添加可拖动功能,使用react hook语法实现
  • (十一)c52学习之旅-动态数码管
  • (算法)求1到1亿间的质数或素数
  • (原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)
  • (转)Linux整合apache和tomcat构建Web服务器
  • (转)PlayerPrefs在Windows下存到哪里去了?
  • (轉貼) 資訊相關科系畢業的學生,未來會是什麼樣子?(Misc)
  • (轉貼)《OOD启思录》:61条面向对象设计的经验原则 (OO)
  • ./和../以及/和~之间的区别
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .Net 转战 Android 4.4 日常笔记(4)--按钮事件和国际化
  • .NetCore Flurl.Http 升级到4.0后 https 无法建立SSL连接
  • .NET实现之(自动更新)