您的位置:首页 > 运维架构 > Apache

Apache POI 插入图片至 Excel 的两种方法

2013-07-31 10:50 966 查看
方法 1 插入图片至坐标

ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream();
BufferedImage bufferImg = ImageIO.read(new File(strAppRootPath + "images/" + "bxlogo.png"));
ImageIO.write(bufferImg, "png", byteArrayOut);

HSSFPatriarch patriarch = (HSSFPatriarch) sheet.createDrawingPatriarch();
HSSFClientAnchor anchor = new HSSFClientAnchor(0, 150, 1000, 210, (short) 0, 0, (short) 1, 1);
patriarch.createPicture(anchor, workbook.addPicture(byteArrayOut.toByteArray(), HSSFWorkbook.PICTURE_TYPE_PNG));


方法 2 插入图片至单元格,以及另一种图片载入方法,其实本质也一样

// 插入 PNG 图片至 Excel
String fileName = strAppRootPath + "images/" + "bxlogo.png";

InputStream is = new FileInputStream(fileName);
byte[] bytes = IOUtils.toByteArray(is);

int pictureIdx = workbook.addPicture(bytes, Workbook.PICTURE_TYPE_PNG);

CreationHelper helper = workbook.getCreationHelper();
Drawing drawing = sheet.createDrawingPatriarch();
ClientAnchor anchor = helper.createClientAnchor();

// 图片插入坐标
anchor.setCol1(0);
anchor.setRow1(1);
// 插入图片
Picture pict = drawing.createPicture(anchor, pictureIdx);
pict.resize();


blog.csdn.net/joyous/article/details/9664739

Q群讨论:236201801
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: