参考链接:POI导出图片到Excel不生效 (2007以上版本)_rj_han的博客-CSDN博客
//数据源 查询库
List<FormMt> mtList = formMtMapper.selectFormMtList();
//创建表格
XSSFWorkbook workbook=new XSSFWorkbook();
XSSFSheet sheet = null;
XSSFRow row=null;
XSSFCell cell=null;
//获取单元格样式
XSSFCellStyle xssfCellStyle = ExcelUtil.cellStyleBorder(workbook);
int rowCount=1;
//sheet名称
sheet = workbook.createSheet("信息");
ExcelUtil.cellStyleBorder(workbook);
//创建表格头
row = sheet.createRow(0);
ExcelUtil.excelHeaderCell(exportSheet, row, cell);
//以下开始图片操作
XSSFCreationHelper helper = workbook.getCreationHelper();
XSSFDrawing patriarch = sheet.createDrawingPatriarch();
for (FormMt mt:mtList) {
row = sheet.createRow(rowCount);
//设置行高
row.setHeight((short) 800);
FileInputStream inputStream = new FileInputStream(mt.getEmpPhoto());
byte[] bytes = IOUtils.toByteArray(inputStream);
// 注意图片格式,非jpeg格式要更换 PICTURE_TYPE_JPEG
int pictureIdx = workbook.addPicture(bytes, Workbook.PICTURE_TYPE_JPEG);
inputStream.close();
XSSFClientAnchor anchor = helper.createClientAnchor();
anchor.setDx1(0);
anchor.setDy1(0);
anchor.setDx2(0);
anchor.setDy2(0);
//影响图片在那一列,下标0开始计算,这里是把图片放到第四列了
anchor.setCol1(3);
//影响图片在那一行,下标0开始计算
anchor.setRow1(rowCount);
anchor.setCol2(4);
anchor.setRow2(rowCount+1);
patriarch.createPicture(anchor,pictureIdx);
//结束,以下为其他非图片单元格操作,注意跳过图片那一列
row.createCell(0).setCellValue(mt.getEmpChName());
row.getCell(0).setCellStyle(xssfCellStyle);
......
rowCount++;
}