上关键代码:
try {
ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream();
bufferImg = ImageIO.read(new File("E:/ec_workspace/Ftest/jpanel.jpg"));
ImageIO.write(bufferImg, "jpg", byteArrayOut);
//创建HSSF工作薄
XSSFWorkbook workbook = new XSSFWorkbook();
//创建一个Sheet页
XSSFSheet sheet = workbook.createSheet("123");
XSSFDrawing picture = sheet.createDrawingPatriarch();
XSSFClientAnchor anchor = new XSSFClientAnchor(1, 1, 1, 1, 10, 1, 24, 22);
picture.createPicture(anchor, workbook.addPicture(byteArrayOut.toByteArray(), XSSFWorkbook.PICTURE_TYPE_JPEG));
//保存到本地
FileOutputStream outputStream = new FileOutputStream(file);
//将Excel写入输出流中
workbook.write(outputStream);
outputStream.flush();
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
这里有个关键的地方就是XSSFClientAnchor的参数设置
参数 | 说明 |
dx1 | 第1个单元格中x轴的偏移量 |
dy1 | 第1个单元格中y轴的偏移量 |
dx2 | 第2个单元格中x轴的偏移量 |
dy2 | 第2个单元格中y轴的偏移量 |
col1 | 第1个单元格的列号 |
row1 | 第1个单元格的行号 |
col2 | 第2个单元格的列号 |
row2 | 第2个单元格的行号 |