/**
* 向Excel中插入图片,读取图片的绝对路径
*/
public static void insertPicture(HSSFSheet sheet, int row, Short col1, short col2, String imagePath) {
//插入图片
FileOutputStream fileOut = null;
BufferedImage bufferImg = null;
//先把读进来的图片放到一个ByteArrayOutputStream中,以便产生ByteArray
try {
ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream();
// 读取文件绝对路径
bufferImg = ImageIO.read(new File(imagePath));
ImageIO.write(bufferImg, "jpg", byteArrayOut);
HSSFWorkbook wb = sheet.getWorkbook();
HSSFPatriarch patriarch = sheet.createDrawingPatriarch();
HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 255, 255, col1, row, col2, row);
anchor.setAnchorType(3);
patriarch.createPicture(anchor, wb.addPicture(byteArrayOut.toByteArray(), HSSFWorkbook.PICTURE_TYPE_JPEG))
.resize(1);
fileOut = new FileOutputStream("excel_put_picture");
// 写入excel文件
wb.write(fileOut);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (fileOut != null) {
try {
fileOut.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
参考:http://blog.csdn.net/hantiannan/article/details/4525473
http://blog.csdn.net/chenssy/article/details/20524563