WPS内嵌单元格图片批量导出工具

会飞的鱼
会飞的鱼

KVP函数专家、创作者俱乐部成员

WPS内嵌单元格图片功能是一个非常实用的功能,该功能可以便捷的操作处理图片,如根据单元格大小自适应,根据其他数据一同筛选、排序,可以使用函数公式引用等。

少量图片操作通过功能区按钮操作是没问题的,如果涉及大量的图片导入导出,导入有接口可以通过JS宏批量导入,导出常规的方法只能把内嵌图片转浮动后,也有接口可以导出,虽然可以实现,但是还需要手工操作,有些麻烦,所以做了一个工具来解决这个问题。

软件界面:

使用方法:

1、选择【待导出表格】,只支持.xlsx格式

2、选择【结果文件夹】

3、设置导出图片命名模式

3.1、选择【根据指定列命名】后需要设置【工作表序号】、【图片列】、【命名列】三个必填参数,每次只能导出一个工作表中的一列内嵌单元格图片。

【工作表序号】参数为工作表所在的位置序号。

【图片列】参数需要填写数字,如A列填写1,D列填写4,AA列填写27

【命名列】参数需要填写数字,如A列填写1,D列填写4,AA列填写27

3.2、选择【根据单元格地址命名】,可以导出工作簿所有工作表的内嵌单元格图片,命名格式为工作表名_单元格地址.jpg,如Sheet1_A1.jpg

4、点击【开始导出】即可。

5、点击【开始导出】前需要关闭要导出的表格文件,否则文件被占用会导致导出失败。

导出逻辑:

1、将.xlsx文件复制,然后将后缀改成.zip

2、如果表格有内嵌单元格图片,解压文件后,会有一个文件和两个xml文件,具体如下

.\xl\media

.\xl\cellimages.xml

.\xl\_rels\cellimages.xml.rels

.\xl\media 文件夹下是表格中所有的内嵌单元格图片

.\xl\cellimages.xml 该文件保存的是内嵌单元格图片在表格时的ID对应的图片ID

.\xl\_rels\cellimages.xml.rels 该文件保存的是图片ID对应的文件名

3、创建两个字典分别读取两个xml文件。

4、读取表格单元格内容,如果单元格包含公式并且公式包含DISPIMG函数,读取内嵌图片的ID,通过两个字典即可找到对应的照片,将图片复制到结果文件夹即可。

5、清除复制后的zip和解压后的文件夹。

本程序由C#编写,使用了SunnyUI、NPOI、Costura.Fody第三方库。

下载地址:

https://www.kdocs.cn/l/cggShpIvaotr
【金山文档 | WPS云文档】 WPS嵌入单元格图片导出

辽宁省
浏览 4530
7
11
分享
11 +1
10
7 +1
全部评论 10
 
奔跑阿博
大神,能不能出个视频教程,实在太难了,能不能重命名,我已经在每个图片前单元格写好命名
· 广东省
回复
 
Leo
大侠 真是厉害了,点赞,这个如何修改图片的后缀.png
· 北京
回复
会飞的鱼
会飞的鱼

KVP函数专家、创作者俱乐部成员

根据指定列命名模式下,可以在表格里加一列,添加后缀,当前的代码有判断,如果命名列有指定后缀,优先使用,如果没有默认jpg。 使用公式添加后缀后,需要把公式转成数值(复制后,原位置选择性粘贴为值)
· 辽宁省
回复
 
方盛
方盛

创作者俱乐部成员

用心之贴,值得推荐,值得学习。 我也推荐下自己的:https://bbs.wps.cn/topic/74597
· 湖北省
回复
 
回忆后游离
作者大大你好,我用了你这个,弹窗这样子,有什么办法可以解决吗
· 浙江省
回复
LK金
是不是文件夹还没新建?
· 浙江省
回复
 
墨无
666666,无敌
· 广东省
回复
 
一礁
牛逼,谢谢作者
· 陕西省
回复
 
星辰
NP
· 江西省
回复