在循环写入表格数据时候加多一个数据图片的判断。
加入相对于的坐标位置即可。
处理图片的关键代码如下
if(obj[j].toString().contains(".png")||obj[j].toString().contains(".jpg")){
row.setHeight((short)1000);// 设置行高
byteArrayOut = new ByteArrayOutputStream();
try {
//buffer_Img =ImageIO.read(new File(obj[j].toString()));
URL urlfile =new URL(obj[j].toString());
//将文件转成字节流
InputStream inputStream = urlfile.openStream();
//加入图像缓冲区
BufferedImage buffer_Img =ImageIO.read(inputStream);
// 写入
ImageIO.write(buffer_Img, "jpg", byteArrayOut);
} catch (IOException e) {
System.out.println("写入出错");
e.printStackTrace();
}
//图片位置 col1 列下标
XSSFClientAnchor anchor = new XSSFClientAnchor(0, 0, 0, 0, obj.length-1, i+1, obj.length, i+2);
anchor.setAnchorType(ClientAnchor.AnchorType.MOVE_DONT_RESIZE);
// 插入图片
patriarch.createPicture(anchor, workbook.addPicture(byteArrayOut.toByteArray(), XSSFWorkbook.PICTURE_TYPE_JPEG));
}