直接说源码:
Map picMap = picList.get(0);
String img = picMap.get("capture_img")==null?"":picMap.get("capture_img").toString();
String comment = picMap.get("comment")==null?"":picMap.get("comment").toString();
sheet.getRow(4).getCell(1).setCellValue(comment);
if (img != "") {
String imgUrl = Thread.currentThread().getContextClassLoader().getResource("static"+img).getPath();
//如果图片存在
if (new File(imgUrl).exists()) {
BufferedImage bufferedImage = ImageIO.read(new File(imgUrl));
ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream();
int len = imgUrl.length();
//图片类型
String hou = imgUrl.substring(len-3,len);
ImageIO.write(bufferedImage,hou,byteArrayOut);
byte[] data = byteArrayOut.toByteArray();
XSSFClientAnchor anchor = new XSSFClientAnchor(48000, 3000, 70000, 1800000,
(short) 1, 3, (short) 3, 3);
XSSFDrawing patriarch = sheet.createDrawingPatriarch();
// 插入图片
patriarch.createPicture(anchor, wb.addPicture(data, XSSFWorkbook.PICTURE_TYPE_JPEG));
}
}
}
特别注意 :
XSSFClientAnchor的前四个描述图片大小的数值想当大,如果数值太小,你会发现图片没有显示