欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 新车 > java Execl 写入png图片 解决

java Execl 写入png图片 解决

2024/10/23 13:48:22 来源:https://blog.csdn.net/weixin_40863853/article/details/142913352  浏览:    关键词:java Execl 写入png图片 解决

1、先拿到Execl 的所有图片  放到list

/*** 获取图片和位置 (xls)** @param sheet* @return* @throws IOException*/public Map<String, PictureData> getPictures(XSSFSheet sheet) throws IOException {Map<String, PictureData> map = new HashMap<String, PictureData>();XSSFDrawing drawing = sheet.getDrawingPatriarch();if (drawing != null) {List<XSSFShape> list = drawing.getShapes();//.getChildren();for (XSSFShape shape : list) {if (shape instanceof XSSFPicture) {XSSFPicture picture = (XSSFPicture) shape;XSSFClientAnchor cAnchor = (XSSFClientAnchor) picture.getAnchor();PictureData pdata = picture.getPictureData();String key = cAnchor.getRow1() + "-" + cAnchor.getCol1();map.put(key, pdata);}}}return map;}

2、从list拿到某个图片,工具类写入图片

            PictureData pictureData = maplist.get(rowNum + "-" + index);if (null != pictureData) {String suggestFileExtension = pictureData.suggestFileExtension();// 图片格式String localPath = ResourceFileUtil.dirPath(SecurityUtils.getUserId(), "wechat/tiku/question/option/") + rowNum + "." + suggestFileExtension;// 存储路径File file = new File(localPath);if (!file.getParentFile().exists()) {file.getParentFile().mkdirs();}FileUtil.writeBytes(pictureData.getData(), localPath);

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com