以xlsx2007的excel为例

//获取整个文档
XSSFWorkbook wb;
// 页
XSSFSheet sheet;//表
// 行
XSSFRow row;//行
// 打开文件
try {wb = new XSSFWorkbook(contactFile.get(i).getInputStream());
} catch (Exception e) {e.printStackTrace();wb = new XSSFWorkbook();
}
//获取第1页
sheet = wb.getSheetAt(0);
// 得到总行数
int rowNum2 = sheet.getLastRowNum();String uploadpath = "D://";//需要将图片保存的地址
//获取excel中的图片
Map<String, XSSFPictureData> pictureDataMap = getPictures(sheet);String savePath = "";for (int k = 1; k <= rowNum2; k++) {String mapKey = k + "-" + 12;//指定行和列if(pictureDataMap.get(mapKey)!=null){XSSFPictureData xssfPictureData = pictureDataMap.get(mapKey);byte[] data = xssfPictureData.getData();long time = System.currentTimeMillis();//得到保存的fileFile file = bytesToFile(data, uploadpath, String.valueOf(time) + k + ".jpg");}}//解析获取excel中的图片
public static Map<String, XSSFPictureData> getPictures( XSSFSheet xssfSheet){Map<String,XSSFPictureData> sheetIndexPicMap=new HashMap<>();for (POIXMLDocumentPart dr : xssfSheet.getRelations()) {if (dr instanceof XSSFDrawing) {XSSFDrawing drawing = (XSSFDrawing) dr;List<XSSFShape> shapes = drawing.getShapes();for (XSSFShape shape : shapes) {XSSFPicture pic = (XSSFPicture) shape;XSSFClientAnchor xssfClientAnchor=(XSSFClientAnchor) pic.getAnchor();XSSFPictureData pdata = pic.getPictureData();// 行号-列号String key = xssfClientAnchor.getRow1() + "-" + xssfClientAnchor.getCol1();sheetIndexPicMap.put(key, pdata);}}}return sheetIndexPicMap;}/*** 文件byte[]类型转File** @param bytes     bytes* @param outPath   输出目录* @param fileName  文件名* @return*/public static File bytesToFile(byte[] bytes, String outPath, String fileName) {BufferedOutputStream bos = null;FileOutputStream fos = null;File file = null;try {File dir = new File(outPath);if (!dir.exists() && dir.isDirectory()) { //判断文件目录是否存在dir.mkdirs();}file = new File(outPath + File.separator + fileName);fos = new FileOutputStream(file);bos = new BufferedOutputStream(fos);bos.write(bytes);} catch (Exception e) {e.printStackTrace();} finally {if (bos != null) {try {bos.close();} catch (IOException e1) {e1.printStackTrace();}}if (fos != null) {try {fos.close();} catch (IOException e1) {e1.printStackTrace();}}}return file;}

java 获取解析excel中的图片相关推荐

  1. java poi 在excel中插入图片

    java web中导出excel数据是常见的功能,最近遇到一个需求是在excel中插入图片.处理excel及其他微软办公系列软件常用的就是apache poi,它也是支持图片插入的.插入图片最主要的用 ...

  2. Java Poi 向excel中插入图片

    博客 package com.unicom.yangjiabin.utils;import java.awt.image.BufferedImage; import java.io.ByteArray ...

  3. 程序解析excel中的图片_产品日志丨支持导入Excel中的图片amp;批量修改后期实体字段...

    本次安捷秀又迎来了一个大版本更新,除了大家呼声很高的「实体模块导入 Excel 」外,还有「批量编辑实体」,「支持右击修改」以及针对海外用户的「全页面支持英文」等功能的新增与优化,一起来看看吧. 导入 ...

  4. 程序解析excel中的图片_Excel表格中链接图片操作方法,以后查看图片点点鼠标就可以了...

    在我们日常工作中,用Excel编辑表格有时需要插入图片,可以与前面的文字说明相对应,但是在插入图片很多时,会造成文件很大,运行相对也慢了.今天小编就和大家分享不用插入图片也能查看的方法,既不会造成文件 ...

  5. Java POI XSSFWorkbook Excel中插入图片

    对Excel指定单元格插入图片 一.不懂就@我,不怕麻烦嘿嘿嘿 二.参考方法(希望能有帮助) 一.不懂就@我,不怕麻烦嘿嘿嘿 引入Pom <dependency><groupId&g ...

  6. 10行代码学会在 Java 中 压缩 Excel 中的图片

    Spire.XLS for Java是专业的Java Excel API,使开发人员无需使用Microsoft Office或Microsoft Excel即可创建,管理,操作,转换和打印Excel工 ...

  7. java excel row遍历空_用Java巧妙的解析Excel中的POI

    原标题:用Java巧妙的解析Excel中的POI 相信各位小伙伴们,在做Java开发的时候,有时候会需要你用Java语言去解析Excel中的POI,这个时候肯定很多小伙伴们会懵逼,那么究竟是怎么实现的 ...

  8. java中excel导入图片_java POI实现向Excel中插入图片

    做Web开发免不了要与Excel打交道.今天老大给我一个任务-导出Excel.开始想的还是蛮简单的,无非就是查找,构建Excel,response下载即可.但是有一点不同,就是要加入图片,就是这个加入 ...

  9. java 读取excel 图片_利用Java+POI 读写Excel文档向Excel中插入图片

    一.POI简介 Jakarta POI 是apache的子项目,目标是处理ole2对象.它提供了一组操纵Windows文档的Java API 目前比较成熟的是HSSF接口,处理MS Excel(97- ...

最新文章

  1. java项目经理也就那么回事_网易PM | 我们之前在需求评审环节踩过的坑...
  2. 数据变金矿:一文读懂序列模型(附用例)
  3. 开发日记-20190503 关键词 汇编语言(二)
  4. 西门子获首都机场18亿大单
  5. Eclipse 安装插件报错:An error occurred while collecting items to be installed session context was...解决方法汇总
  6. xp访问服务器显示没有权限,xp无法访问2008R2共享
  7. mysql 表死锁_MySQL Innodb表导致死锁日志情况分析与归纳
  8. 数据结构与算法python—13.堆及python实现与leetcode总结
  9. WPS怎么统计相同名称的数据_批量操作同一格式的多表格汇总统计
  10. 硕士研究生毕业论文书写格式总结
  11. VSCode安装教程(超详细)
  12. MATLAB实现一组随机点分成两组,每组随机点分别与一个特定点连线
  13. Fully-hierarchical fine-grained prosody modeling for interpretable speech synthesis
  14. 营销公众号该如何运营大纲
  15. 中国大学慕课浙江大学【C语言课程】-翁恺教授第4周编程练习数字特征值(5分)
  16. android 时钟字体颜色,安卓手机美化之修改状态栏日期时间颜色
  17. 计算机控制 英文 论文,计算机论文英文翻译
  18. java8高级应用与开发课件和贯穿案例(全)分享
  19. 英伟达哭晕在厕所,4090Ti显卡被春晚“首发”
  20. 编译器和解释器,预编译和预处理

热门文章

  1. 使用pinia持久化插件时踩过的坑
  2. 程序员日常:男程序员手腕上一般戴什么?程序员的第一只手表
  3. animegan2实现人脸动漫化
  4. rar for android 中文版,安卓解压缩软件 Winrar for Android 6.02 中文专业版
  5. 计算机网络维护证明,计算机网络设备维护知识点
  6. 《高级软件工程》课程总结
  7. 《精益数据分析》第十三章:商业模式六双边市场
  8. iphone12里的计算机,最简单:将iPhone 12投屏到电脑的最快方法
  9. 发布一个免费的 Elasticsearch 多集群监控和管理平台 - 极限数据平台
  10. thinkphp API 使用知识