if (object instanceof List<?>) {
// 针对图片导出
List<?> picList = ((List<?>) object);
for (int i=0;i<picList.size();i++) {
// 图片类型为byte
byte[] byteArr = (byte[]) picList.get(i);
InputStream in = new ByteArrayInputStream(byteArr);
BufferedImage bufferedImage = ImageIO.read(in);
int width = bufferedImage.getWidth();
int height = bufferedImage.getHeight();
int anchorX,anchorY;
// 计算图片缩放比例
anchorX = 1000;
anchorY = (int) (1000 * ((double) height / (double) width));
anchorX = anchorX * HSSFShape.LINEWIDTH_DEFAULT;
anchorY = anchorY * HSSFShape.LINEWIDTH_DEFAULT;
XSSFDrawing xssfDrawing = sheet.createDrawingPatriarch();
// 13+i 为从第几列插入,rowIndex + 2为第几行
XSSFClientAnchor anchor = new XSSFClientAnchor(0, 0, anchorX, anchorY, 13+i,
rowIndex + 2, 13+i, rowIndex + 2);
//XSSFWorkbook workbook
xssfDrawing.createPicture(anchor,
workbook.addPicture(byteArr, XSSFWorkbook.PICTURE_TYPE_PNG));
}
}
XSSFWorkbook Excel导出图片
于 2023-02-16 14:48:37 首次发布