Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >hutool获取excel中的图片

hutool获取excel中的图片

作者头像
阿超
发布于 2022-09-29 00:58:35
发布于 2022-09-29 00:58:35
2K00
代码可运行
举报
文章被收录于专栏:快乐阿超快乐阿超
运行总次数:0
代码可运行

人无礼而何为,财非义而不取——耐施庵

依赖如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>5.8.6</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml -->
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>5.2.2</version>
</dependency>

代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package com.ruben;

import cn.hutool.core.io.FileUtil;
import cn.hutool.core.text.StrPool;
import cn.hutool.core.util.StrUtil;
import cn.hutool.poi.excel.ExcelReader;
import cn.hutool.poi.excel.ExcelUtil;
import org.apache.poi.ss.usermodel.PictureData;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.xssf.usermodel.XSSFAnchor;
import org.apache.poi.xssf.usermodel.XSSFPicture;

import java.io.File;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.StreamSupport;

/**
 * ExcelDemo
 *
 * @author VampireAchao
 * @since 2022/9/7
 */
public class ExcelDemo {
    public static void main(String[] args) {
        String path = "D:\\file\\tmp\\001.xlsx";
        String localPath = "D:\\file\\tmp\\";
        final ExcelReader reader = ExcelUtil.getReader(path);
        Sheet sheet = reader.getSheet();
        List<XSSFPicture> pictures = StreamSupport.stream(sheet.getDrawingPatriarch().spliterator(), false)
                .filter(XSSFPicture.class::isInstance)
                .map(XSSFPicture.class::cast)
                .collect(Collectors.toList());
        pictures.parallelStream().forEach(picture -> {
            XSSFAnchor anchor = picture.getAnchor();
            String filename = StrUtil.format("{}-{}-{}-{}", anchor.getDx1(), anchor.getDy1(), anchor.getDx2(), anchor.getDy2());
            PictureData pdata = picture.getPictureData();
            String suggestFileExtension = pdata.suggestFileExtension();
            File file = FileUtil.writeBytes(pdata.getData(), localPath + filename + StrPool.DOT + suggestFileExtension);
            System.out.println(picture);
        });
        System.out.println(reader);
    }
}

执行后,其中excel包含的悬浮在单元格上方的图片已经成功提取

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-09-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
SpringBoot实现Excel解析和下载
操作Excel一般有三种poi、EasyExcel和Hutool工具包,百度一下你会发现大多数写的不是很清晰,所以此处写一个demo,方便自己以后copy。此处是基于Hutool实现的。
CBeann
2023/12/25
2220
【PUSDN】java中easyexcel导入导出带有图片的Excel(main方法方式)
java中easyexcel导入导出带有图片的Excel(main方法方式),web方式详见另一篇
JaneYork
2023/11/30
1.2K0
【PUSDN】java中easyexcel导入导出带有图片的Excel(main方法方式)
EXCEL导入程序中(针对excel单元格合并等导致的一行多条数据重复解决办法)
默 语
2024/11/20
760
EXCEL导入程序中(针对excel单元格合并等导致的一行多条数据重复解决办法)
Excel导出数据 基于注解实现 复制即可用
之前使用在其他博客看到的excel导出数据需要一个类设置一种导出的方式,作为一个懒人的我实在不想写这么多类去实现excel数据的导出,今天刚好有时间,就利用注解的方式来实现向excel导出数据。
小王不头秃
2024/06/19
1840
Excel导出数据 基于注解实现 复制即可用
Java工具集-POI导出工具
添加依赖 <!--poi--> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.0.1</version> </dependency> <dependency> <groupId>org.apache.poi</groupId
cwl_java
2020/02/11
5730
使用POI+hutool导入Excel并把内容添加到数据库中,直接可以用!!!
经理:小王,你来把这个Excel的数据导入到数据库中.maven包你自己选个熟悉的就行! 小王:好的,经理(内心可视化工具也可以导入,哈哈,但是咱是Java开发人员,要用程序实现)
掉发的小王
2022/07/11
1.3K0
使用POI+hutool导入Excel并把内容添加到数据库中,直接可以用!!!
POI读写EXCEL
上面的代码是读取的是office xls 后缀的的excel文件,如果想要读取xlsx后缀的excel文件,需要添加ooxml的依赖包;
前Thoughtworks-杨焱
2021/12/08
4470
poi系列(二):通过poi、poi-ooxml读取写出excel
<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.17</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.17</version> </dependency>
全栈程序员站长
2022/09/13
3.8K0
来,通过 Excel 来认识神器——POI
Apache POI - the Java API for Microsoft Documents,顾名思义,Apache的三方包,用来操作微软office文档的,多数时候用来操作excel,所以这里就以excel方面来说明。
Java技术栈
2021/01/08
1.1K0
来,通过 Excel 来认识神器——POI
读写excel(.xls or .xlsx)
https://github.com/xiaomingtongxie/springboot-study/blob/master/spring-study/src/main/java/demo/excel/ReadWriteExcelFile.java
小小明童鞋
2019/03/12
2K0
利用springboot 将数据库中的数据导出为excle。还实现将excle里面的数据上传到数据库里面
写一个接口,浏览器一输入这个接口,那么就可以导出数据库里面的数据到excle表里面了。要实现这个功能。我们使用springboot
一写代码就开心
2020/11/20
4.1K1
利用springboot 将数据库中的数据导出为excle。还实现将excle里面的数据上传到数据库里面
Hutool Java工具类库导出Excel,超级简单!
以前用过POI、easyexcel等工具的导入导出功能,但总感觉太麻烦了,代码特别多,感觉并不是很好用。
用户1516716
2020/02/20
2.7K1
Hutool Java工具类库导出Excel,超级简单!
Excel转Html
apache的开源项目-模板引擎(Velocity)_学习了两天就上手啦_源码下载
Hongten
2022/05/06
2.7K0
Excel转Html
excel的导入导出和异常非空 总计等处理;导出多个excel合并导出zip(hutool导出)(详细讲解包括分析等等)
我的建议: 1、时时刻刻想着面向对象,写代码时多想一下,这个功能需要哪些对象来干这件事,怎么干在其次,想明白你需要的对象后就去想流程,最后在去组织代码,尽量从后往前看 2、搞清楚问题,遇到什么问题就去解决什么问题,问问题最怕不知道是啥问题,要不然百度都不知道怎么搜
默 语
2024/11/20
920
excel的导入导出和异常非空 总计等处理;导出多个excel合并导出zip(hutool导出)(详细讲解包括分析等等)
设计一款可扩展和基于windows系统的一键处理表格小工具思路
日常开发当中,业务人员经常会遇到一些重复性整理表格的事情,这时候,就可以通过一些方式进行自动化程序处理,提高工作(摸鱼)效率。
朱季谦
2023/03/16
7.8K0
手把手教你JSON解析完Cube数据,如何输出到Excel
最近公司有一个需求,需要解析Kylin上某个Cube的JSON格式的数据,并输出到Excel文件中。
大数据梦想家
2021/01/27
1.4K0
手把手教你JSON解析完Cube数据,如何输出到Excel
springboot实现文件上传到数据库_javaweb将数据写入数据库
该接口只负责接收前台上传的文件,和遍历打印Analysis工具类解析出的数据,可以略过不看
全栈程序员站长
2022/09/22
1.3K0
springboot实现文件上传到数据库_javaweb将数据写入数据库
Java工具集-Excel指定文件名称读取工具类
添加依赖 <!--poi--> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.0.1</version> </dependency> <dependency> <groupId>org.apache.poi</groupId>
cwl_java
2020/05/01
2.1K0
java -POI的基本操作Excel
导入依赖 <dependencies> <!--操作旧版本--> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.0.1</version> </dependency> <!--操作新版本--> <dependency> <groupId>org.apache.poi</groupId>
用户9006224
2022/12/21
9840
导出excel多sheet页
最近碰到这样一个需求,就是任课教师需要把自己所教学科的学生的每次作业全部导出来。每一个教师不可能只教一个班,可能带多个班。那么导出的成绩就想是多个班的学生每次作业成绩。这样就用到了excel的sheet页。
微醺
2020/06/17
1.9K0
推荐阅读
相关推荐
SpringBoot实现Excel解析和下载
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验