springboot 集成poi导出word
使用ruoyi-前后端分离版本,根据word模板导出,包含表格和图片。
一、创建模板
列表使用{{}},文本使用[]
二、引入依赖
org.apache.poi
poi-ooxml
com.deepoove
poi-tl
1.10.0
三、调用接口
@PostMapping("/exportPic")
public void groupExportPic(HttpServletResponse response, InfoGroup infoGroup)
{
//从数据库中获取数据,组成list
groupService.groupExportPic(response,list);
}
四、WordUtil导出类
package com.ruoyi.common.utils.poi;
import com.deepoove.poi.XWPFTemplate;
import com.deepoove.poi.config.Configure;
import com.deepoove.poi.data.PictureRenderData;
import com.deepoove.poi.plugin.table.LoopRowTableRenderPolicy;
import com.deepoove.poi.policy.PictureRenderPolicy;
import java.awt.image.BufferedImage;
import java.io.*;
import java.util.*;
import java.util.List;
import com.ruoyi.common.core.domain.AjaxResult;
import org.apache.poi.util.Units;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.imageio.ImageIO;
import javax.servlet.http.HttpServletResponse;
import static com.deepoove.poi.data.PictureType.PNG;
import static com.ruoyi.common.config.RuoYiConfig.getProfile;
/**
* Word导出方法
*/
public class WordUtil {
private static final Logger log = LoggerFactory.getLogger(WordUtil.class);
/**
* 导出群组信息图片
* @param data 导出模板数据
* @param response
* @return
* @throws Exception
*/
public AjaxResult groupExportPic(HttpServletResponse response,List
五、导出页面调用,使用现成的导出方法
this.download('test/group/exportPic', {
...this.queryParams
}, `test.docx`)