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第三方库。
下载地址:
KVP函数专家、创作者俱乐部成员
创作者俱乐部成员