photoshopcs5永久序列号-家庭财务软件
2023年4月3日发(作者:classcastexception)
xwpftemplate的时间设置_poi-tl:Javaword的模板引擎,对
docx格。。。
poi-tl
Javaword的模板引擎,对docx格式的⽂档增加模板语法,简化样式处理。⽬前⽀持对段落、页眉、页脚、表格的⽂本、图⽚、表单渲
染。
Whypoi-tl
对于word模板替换,我们不仅要考虑复杂的模板格式,还要考虑字体,颜⾊,处理页眉页脚,使⽤稍显复杂的poi的API等,现实项⽬中⼜
有许多需求需要后台动态⽣成数据然后替换word模板,供前台下载或者打印,为了避免:
java操作word使⽤apachepoi的复杂性
使⽤freemarker,转化为xml操作word的难度
依赖服务器上安装软件openoffice来调⽤转化
依赖windows的wordlib库,不具有跨平台性
因此基于poi开发了⼀套拥有简洁API的跨平台的模板引擎:poi-tl。核⼼API只需要⼀⾏代码:
XWPFTemplatetemplate=e("~/").render(datas);
打个⼴告:我们正在招⼈,坐标杭州,阿⾥系公司,E轮融资,⾏业独⾓兽(almost),我相信你⼀定能找到我的联系⽅式,欢迎投递简历。
依赖
ve
poi-tl
1.2.0
语法
所有的语法结构都是以{{开始,以}}结束。
{{template}}
普通⽂本,渲染数据为:String或者TextRenderData
{{@template}}
图⽚,渲染数据为:PictureRenderData
{{#template}}
表格,渲染数据为:TableRenderData
{{*template}}
列表,渲染数据为:NumbericRenderData
样式
⽂档的样式继承模板标签的样式,这样我们只需要提前设计好模板样式即可,即如果模板{{L}}是红⾊微软雅⿊加粗四号字体,则替换后的⽂
本也是红⾊微软雅⿊加粗四号字体。
也可以在渲染数据中指定,实现了样式的最⼤⾃由化,通过代码设置样式的⽅法,具体参见类。
颜⾊
字体
字号
粗体
斜体
删除线
Usage
Mapdatas=newHashMap(){{
put("author",newTextRenderData("000000","Sayi"));
//⽂本模板
put("date","2015-04-01");
//表格模板
put("changeLog",newTableRenderData(newArrayList(){{
add(newTextRenderData("d0d0d0",""));
add(newTextRenderData("d0d0d0","introduce"));
}},newArrayList(){{
add("1;addnew#gramer");
add("2;supportinserttable");
add("3;supportmorestyle");
}},"nodatas",10600));
//列表1.2.3.
put("number123",newNumbericRenderData(FMT_DECIMAL,newArrayList(){{
add(newTextRenderData("df2d4f","Deeplyinlovewiththethingsyoulove,justdeepoove."));
add(newTextRenderData("Deeplyinlovewiththethingsyoulove,justdeepoove."));
add(newTextRenderData("5285c5","Deeplyinlovewiththethingsyoulove,justdeepoove."));
}}));
//图⽚模板
put("logo",newPictureRenderData(100,100,"/Users/Sayi/"));
}};
//render
XWPFTemplatetemplate=e("src/test/resources/").render(datas);
//outdocument
FileOutputStreamout=newFileOutputStream("");
(out);
();
();
Changelog
v1.2.02017-10-12
新增api:XWPFTemplatecompile(InputStreaminputStream)
不兼容升级:⽂本模板换⾏符由原先的n替换成更符合语⾔的n
v1.1.02017-09-15
修复⽼版本office打开表格模板时出错
新增列表字符样式:设置编号颜⾊、字体、粗体、斜体等
v1.0.0
以插件的思想进⾏了重新设计
⾼度扩展性:语法即插件,像新增插件⼀样新增语法
新增⼯具类BytePictureUtils,便于操作图⽚的byte[]数据
新增Annotation@Name
NiceXWPFDocument新增插⼊段落insertNewParagraph⽅法
新增代码⽣成⼯具类CodeGenUtils
V0.0.5
bugfix:解决0.0.4版本解析模板时CTSignedTwips类加载不到的问题
newfeature:新增列表语法*,⽀持对有序列表和⽆序列表的插⼊
V0.0.4
增加新的api:e
渲染数据除了⽀持Map以外,还⽀持JavaBean渲染
升级poi组件⾄最新版本3.16
V0.0.3
新增表单语法
#⽀持表单插⼊
渲染器⽀持对table动态处理DynamicTableRenderPolicy
⽀持单元格的合并
丰富⽂本样式
⽰例图
⽰例⼀
⽰例⼆
License
ApacheLicense2.0
建议和完善
问题、BUG可以在issue中提问,feature可以pullrequest。
更多推荐
微软雅黑粗体
发布评论