业务场景:读取excel数据,该excel中每行都会有图片,各个图片可以重复,现在需要拿到每行对应的图片。
测试用excel,如图可见有两个一样的图片,但是其实是复制的两个不同文件:
poi获取图片我所知道的只有一个方法,为了测试我输出图片到了本地:
打印出的结果:
明明excel中有三张图片,却只打印了两张,输出到本地的图片也确实是去过重的两张。无论是改文件名还是怎么样,那两张图片永远都被视为一张。
不死心的我又拿到了他单元格的数据,单元格类型为FORMULA,但确实是三张图片:
那就奇怪了,三个单元格三张图片,怎么使用getAllPictrues方法,就只能拿到两张呢???于是,我去翻了下源码。
可以看到,这个方法获取图片的方式,是用正则表达式去匹配一个类似路径的东西,那么图片被去重应该是因为路径一样。