第一步 生成ftl模版文件


将文档另存为.xml格式的文件

使用高级文本插件 pretty print(indent attributes) 将代码格式化,将文件后缀名改为ftl
第二步: 将ftl文件放入java项目里面

放入项目资源文件夹
第三步 :动态取值
1、使用${变量名} 动态取值

2、生成表格循环动态取值



使用 <#list> 标签循环遍历数组,将相应的值填入相应的单元格中
第四部:文档填充图片
1、使用Jfree生成条形图或者柱状图,最后注意要将图片转为base64编码格式

try {
// 确保目标目录存在
File directory = file.getParentFile();
if (!directory.exists()) {
directory.mkdirs();
}
// 将图表保存为PNG图片
ChartUtils.saveChartAsPNG(file, chart, 800, 600);
System.out.println("保存成功: " + file.getAbsolutePath());
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
ChartUtils.writeChartAsPNG(buffer, chart, 800, 600);
byte[] imageBytes = buffer.toByteArray();
// 将字节数组转换为Base64编码的字符串
String encodedImage = Base64.getEncoder().encodeToString(imageBytes);
return encodedImage;
} catch (IOException e) {
e.printStackTrace();
System.out.println("保存柱状图失败");
Java实现动态模板填充:FTL、XML转换与AsposeWords生成Word文档

最低0.47元/天 解锁文章
5339

被折叠的 条评论
为什么被折叠?



