使用openpyxl_image_loader下的sheet_image_loader读取excel单元格照片遇到的问题

文章讨论了SheetImageLoader在处理Excel照片定位时遇到的问题,包括只支持到第26列(Z列)的字母数字转换以及读取后不自动清除缓存导致的错误。解决方案是扩展列字母转换逻辑以支持多字母列名,并在读取完表格后添加清除缓存的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、问题:sheet_image_loader根据照片所在列字母,将列字母转换为对应的列数字结合行数来定位照片位置并读取照片,如列“A”转换为“1”、列“Z”转换为“26”,但在将列字母转换为列数字时只包含了26个大字母与数字的转换(照片在A-Z列转换正常),列字母如果为AA、BA等,那在转换时就会报错“string index out of range”。
在这里插入图片描述
解决方案:继承SheetImageLoader类,并重写初始化函数,根据需要对列数字增加判断,如果所在列在AA-AZ间,则增加数字大于26小于等于52的判断,以此类推,那位于列Z后的照片也可以正常读取了。
在这里插入图片描述
2、问题:sheet_image_loader读取完一个表格的照片后,不会自动清除已读入照片的缓存,当下一个读入的表格照片未能完全覆盖上一个表格读入的照片,则读取出来的照片可能是错误的。例如,表A在A1、A2、A3有照片,表B在A1、A3有照片,先读入表A,后读入表B,则表B在A2可以读取出照片(该照片为表A在A2的照片)。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
解决方案:继承SheetImageLoader类,并增加功能函数。在读取完一个表格的照片后,清除已读取的照片再进行下个表格照片的读取。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值