对于图片模版和列表模版相对就简单了,可以参考帮助文档,下边我也只做简单的介绍了
对于文档中的饼状图、柱状图,我是在导入数据的时候,直接根据数据生成了相应的图片,然后保存在文件服务器,并把路径保存到数据库中
图片模版:{ {@var}}
BufferedImage picture = ImageIO.read(new FileInputStream(picturePath)); //获取图片对象
//设置图片的大小为原图的3/4
reportDatas.put("intestinal_pattern_result", new PictureRenderData(picture.getWidth() * 3 / 4, picture.getHeight() * 3 / 4, picturePath));
列表模版:{ {*var}}
刚开始考虑的参考文献那里使用列表模版的,但使用过程中发现poi-tl的列表模版,不能设置隐藏列表项前边的特殊符号(默认是圆点)。后来就退而求其次,将所有列表项拼成一段文字,每项之间使用\n进行分割
reportDatas.put("ReferenceList",getReferences(references));
//references 参考文献信息列表
private TextRenderData getReferences(List<ReportReference> list) {
TextRenderData renderData = new TextRenderData();
StringBuffer sb = new StringBuffer();
for (ReportReference reportReference:list) {
sb.append(reportReference.getContent()+"\n");
}
renderData.setText(sb.toString());
return renderData;
}