获取excel中的图片(包含wps中嵌入单元格图片)

这篇具有很好参考价值的文章主要介绍了获取excel中的图片(包含wps中嵌入单元格图片)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

项目中有excel导入功能,并且需要导入excel中的图片;模板如图:

获取excel中的图片(包含wps中嵌入单元格图片),excel,wps

已知office中插入的图片为浮动形式;如图:

获取excel中的图片(包含wps中嵌入单元格图片),excel,wps

wps中可以插入浮动图片,也可以插入嵌入单元格图片;如图:

获取excel中的图片(包含wps中嵌入单元格图片),excel,wps

并且在wps嵌入单元格形式的图片可以看到使用的是公式;如图:

获取excel中的图片(包含wps中嵌入单元格图片),excel,wps

 问题来了,如何获取图片  并且将图片与单元格进行对应

浮动形式图片获取网上一搜一大把 不多说

主要说下wps如何将单元格和获取到的图片对应

开始分析:

获取excel中的图片(包含wps中嵌入单元格图片),excel,wps

已知这个图片公式中的图片ID是 ID_DAF859A2B4904BF7A304D49029CAD99C

poi方法可以获取到工作表中所有图片  那么问题来了 如何将图片和图片ID对应起来

poi中没有方法可以找到对应关系 

获取excel中的图片(包含wps中嵌入单元格图片),excel,wps

 开始找对应关系:

将excel文件改后缀为zip  并进行解压

获取excel中的图片(包含wps中嵌入单元格图片),excel,wps

解压后看到文件xl路径下有个cellimages.xml

获取excel中的图片(包含wps中嵌入单元格图片),excel,wps

 打开并格式化后内容如下:

获取excel中的图片(包含wps中嵌入单元格图片),excel,wps

 可以看到这个文件里面有图片ID的数据结构 但是又是如何和图片对应起来的呢

上面我们发现如果有图片ID和图片名称的对应关系 那么我们就能确定图片ID和代码中获取的图片对应关系,但是很遗憾 这里没有这个对应关系          接下来继续找

获取excel中的图片(包含wps中嵌入单元格图片),excel,wps

 我们发现在解压文件夹下xl\_rels有个cellimages.xml.rels 文件

获取excel中的图片(包含wps中嵌入单元格图片),excel,wps

打开文件并格式化后如下:

获取excel中的图片(包含wps中嵌入单元格图片),excel,wps

然后就可以找到对应关系了

获取excel中的图片(包含wps中嵌入单元格图片),excel,wps 有了对应关系就可以开始撸代码了

接下来贴代码:

1.使用的依赖

 <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>5.8.11</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-scratchpad</artifactId>
            <version>4.1.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>4.1.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.12.0</version>
        </dependency>
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.11.0</version>
        </dependency>
        <dependency>
            <groupId>cn.afterturn</groupId>
            <artifactId>easypoi-base</artifactId>
            <version>4.3.0</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.28</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.alibaba.fastjson2</groupId>
            <artifactId>fastjson2</artifactId>
            <version>2.0.34</version>
        </dependency>

2.方法中传入代码中的图片公式 以及上传的文件 返回map类型

嵌入形式图片键为公式 浮动形式图片为起始单元格索引拼接字符串

获取excel中的图片(包含wps中嵌入单元格图片),excel,wps

方法中首先截取字符串 获取图片ID

获取excel中的图片(包含wps中嵌入单元格图片),excel,wps

 接下来获取xl/cellimages.xml文件中的rId和图片ID 

获取excel中的图片(包含wps中嵌入单元格图片),excel,wps

再接下来获取rId和图片名称对应关系

获取excel中的图片(包含wps中嵌入单元格图片),excel,wps

最后根据图片名称去对应工作表中获取到的图片

获取excel中的图片(包含wps中嵌入单元格图片),excel,wps 就可以根据这个map去进行操作了

获取excel中的图片(包含wps中嵌入单元格图片),excel,wps

已将代码打包 

获取excel中的图片(包含wps中嵌入单元格图片),excel,wps文章来源地址https://www.toymoban.com/news/detail-652936.html

到了这里,关于获取excel中的图片(包含wps中嵌入单元格图片)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 给第一行单元格赋值 + WPS JS获取工作表的总行数 + WPS JS获取工作表的总行数

    戳我,了解更多相关办公的小技巧 1、在计算机中有一种ASCII编码,其中 A 在计算机中的表示的数字是65, a 的ascii码是97, b 的ascii码是98。 2、从 A1 到 F1 可以看到第一个字母在变化,第2个数字始终是1, A 的ascii码是65, F 的ascii码是70。 3、我们定义letter=65,使letter逐渐靠近

    2024年02月08日
    浏览(43)
  • Java读取Excel 单元格包含换行问题

    针对用户上传的Excel数据,或者本地读取的Excel数据。单元格中包含了换行,导致读取的数据被进行了切片。 正常读取如下图所示。 目前是把数据读取出来的cell转成字符串后,然后替换掉换行符即可。 换行符使用 n 进行替换。 代码如下: 读取结果:

    2024年02月16日
    浏览(45)
  • 前端解析包含图片的excel文件

    有时候难免会遇到解析excel的情况,现在前端的很多插件都可以实现excel文件中文本内容的解析;但是很多时候excel文件中是带有图片文件的,这个图片文件的提取着实是让人有点头疼的; 本人查阅了很多资料,试了很多方法,结果都是以失败告终! 现决定使用一个迂回战术

    2024年02月22日
    浏览(39)
  • Java解析上传的zip文件--包含Excel解析与图片上传

    前言:今天遇到一个需求:上传一个zip格式的压缩文件,该zip中包含人员信息的excel以及excel中每行对应的人的图片,现在需要将该zip压缩包中所有内容解析导入到数据库中,包括图片,并将图片与excel内容对应。 代码演示: 回顾: 博主解答思路为: 接收压缩文件 解析压缩文件

    2024年02月05日
    浏览(51)
  • python 批量将图片存入excel单元格内

    https://blog.csdn.net/wuyoudeyuer/article/details/128185284 以下是一个示例程序,可以实现将指定目录下的所有图片存储到Excel单元格内。注意需要安装openpyxl库和Pillow库。 以上代码会将指定目录下所有的.jpg或.png文件存储到Excel单元格中,并将单元格大小调整为适应图片大小。需要注意的

    2024年01月21日
    浏览(52)
  • 利用OpenXML获取Excel单元格背景色

    最近项目上遇到了关于Excel获取处理的问题,关于Excel单元格背景色的获取,水的文章都大同小异,都没注意到Excel单元格背景色是怎么赋值,这会导致出现有些背景色无法获取的情况。(PS:其实应该叫做前景色) 关于这点我们可以先来看一下,一个Excel文档的内部有关背景

    2024年02月08日
    浏览(50)
  • 【工具插件类教学】NPOI插件使用Excel表格的导入和导出(包含图片)

    目录 一.导入Excel 解析读取 1.选择导入的目标文件 2.解析读取导入的文件

    2024年01月16日
    浏览(53)
  • 从excel中提取嵌入式图片的解决方法

    我的excel中有浮动图片和嵌入式图片,但是openpyxl的_image对象只提取到了浮动图片,通过阅读其源码发现,这是因为openpyxl只解析了drawing文件导致的,所以确定需要自己解析 1、解析出media资源 2、解析出xml,这可以得到资源的rNvpr-rId-image target的关系 3、从xlrd或openpyxl中得到单元

    2024年02月14日
    浏览(34)
  • Excel将单元格中的json本文格式化

    打开Excel文件并按下ALT + F11打开Visual Basic for Applications(VBA)编辑器。 输入下面的代码 进入https://github.com/VBA-tools/VBA-JSON,下载release的最新代码 VBA编辑器,“文件”-“导入”, 导入文件 JsonConverter.bas 点击VBA编辑器的菜单栏上的\\\"工具\\\"。 选择\\\"引用\\\",然后在弹出的对话框中找到

    2024年02月14日
    浏览(49)
  • excel函数获取excel中json中的值

    存在一份这样的json,作为excel的一列,现在需要获取其中一个字段的值。 提取\\\".TENANT_ID\\\"的字符串值的公式: 提取\\\".ID\\\"的字符串值的公式: 要提取 “fsType” 中的 “name” 值,您可以使用以下公式: 该公式假设 JSON 数据位于 C1 单元格中。请根据实际情况调整公式中的单元格引

    2024年02月13日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包