接下来,我将会对ApachePOI进行讲解。以及我这套工具的一些底层原理,目的是为了和各位大牛交流,以及有人有定制需求的话,可以基于我这个工具进行改写,来适应不同的项目。如果你不想学原理,则只需要跳过本段内容,到最后一小节,我会用最黑盒的方式,来快速教大家上手使用我这套工具。
(由于本人技术有限,而且公文写作能力一般,因此有口误的地方请大家指出,并且欢迎大家提出更好的解决建议)(本工具现在是V1.0版本,代码方面也还没进行过多优化,性能暂时还OK,但还有很大优化空间)
已实现的功能:
后期可能扩展的方向
本工具与网上其他POI打印工具类对比特点:
简单例子(1)word模板
(2)通过apachepoi打印后
因此:
Stringtext=paragraphs.get(0).getText();4.设置段落的样式
//每一个XWPFParagraph可以设置对齐方式,边框,加粗等等,自己看里面的方法即可Stringtext=paragraphs.get(0).setXXX();5.获取段落的Run,并修改这段Run的文字
其中:
建议使用WPS编辑word模板,因为目前ApachePoi对office不太友好,在我约束的规则下,我发现一个占位符无法对应一个XWPFRun,在处理上非常不方便
(*表示通配符,可以是任意字符)(1)文本替换,使用@${t_*}@的方式(其中两边的@,需要独占一种样式)
PS:两边的@是必不可少的,并且需要使用一种与周围字符样式不同的样式。我的做法通常是,加粗+变为指数。在进行打印的过程中,${xxx}的内容会被你指定的文本替换掉,两边的@也会被删掉。
(2)静态表格(文本替换)表格上方多增加一行,在第一行第一列中指定静态表格${at_static_*}表格内需要进行文本替换的地方,与普通文本替换的规则一样