POI操作EXCEL插入图片

系列文章目录


文章目录

  • 系列文章目录
    • POI操作EXCEL插入图片


POI操作EXCEL插入图片

依赖

<dependency><groupId>org.apache.poigroupId><artifactId>poiartifactId><version>4.1.2version>
dependency>
<dependency><groupId>org.apache.poigroupId><artifactId>poi-ooxmlartifactId><version>4.1.2version>
dependency>

使用HSSFPatriarch来将图片写入EXCEL中

BufferedImage bufferImg;//图片
ByteArrayOutputStream byteArrayOut = null;
try {// 先把读进来的图片放到一个ByteArrayOutputStream中,以便产生ByteArraybyteArrayOut = new ByteArrayOutputStream();//将图片读到BufferedImageInputStream resource = Thread.currentThread().getContextClassLoader().getResourceAsStream(imageName);if(resource == null){throw new BusinessException("%s资源不存在",imageName);}bufferImg = ImageIO.read(resource);// 将图片写入流中ImageIO.write(bufferImg, "png", byteArrayOut);// 利用HSSFPatriarch将图片写入EXCELHSSFPatriarch patriarch = sheet.createDrawingPatriarch();// 定义单元格位置HSSFCreationHelper creationHelper = workbook.getCreationHelper();HSSFClientAnchor clientAnchor = creationHelper.createClientAnchor();clientAnchor.setCol1(columnNo);clientAnchor.setRow1(rowNo);// 插入图片  PICTURE_TYPE_PNG是图片的类型HSSFPicture picture = patriarch.createPicture(clientAnchor, workbook.addPicture(byteArrayOut.toByteArray(), HSSFWorkbook.PICTURE_TYPE_PNG));picture.resize(2.5);} catch (IOException e) {LOGGER.error("图片写入excel失败", e);
} finally {if (byteArrayOut != null) {try {byteArrayOut.close();} catch (IOException e) {LOGGER.error("关闭流失败", e);}}}

注:在将图片添加到工作簿中时,必须将其存储为字节数组


由于自身博客未收录,可点击 https://zhhll.icu 查看更多有用的博客


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部