SpringBoot + Poi-tl实现word模板导出数据表格
import com.deepoove.poi.XWPFTemplate;
import com.deepoove.poi.data.RowRenderData;
import com.deepoove.poi.data.TableRenderData;
import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.List;
public class WordExportExample {
public static void main(String[] args) throws Exception {
// 创建表格数据行
List<RowRenderData> rows = new ArrayList<>();
for (int i = 0; i < 5; i++) {
RowRenderData row = RowRenderData.build(
TextRenderData.build("单元格1-" + i),
TextRenderData.build("单元格2-" + i),
TextRenderData.build("单元格3-" + i)
);
rows.add(row);
}
// 创建表格并设置样式
TableRenderData table = TableRenderData.build(rows)
.setAlign(TableAlign.CENTER) // 设置表格居中
.setWidth(8000) // 设置表格宽度
.setBgColor("f0f0f0"); // 设置背景颜色
// 加载Word模板
XWPFTemplate template = XWPFTemplate.compile("模板路径.docx");
// 文档替换
template.render(new HashMap<String, Object>() {{
put("table", table);
}});
// 输出到文件
template.writeAndClose(new FileOutputStream("输出路径.docx"));
}
}
这段代码展示了如何使用poi-tl
库来实现一个简单的Word文档数据表格导出。首先,我们创建了一个表格数据行列表,填充了一些示例数据。接着,我们使用这些数据构建了一个TableRenderData
对象,并对表格进行了样式设置。然后,我们加载了一个Word模板,并通过render
方法替换了模板中的表格部分。最后,我们将处理后的Word文档保存到了指定的文件路径。
评论已关闭