筛选excel内容后回写出错解决方法
一、案例背景:
对状态列做筛选,将筛选后的入库数量列拷贝到新列中
二、存在问题:
入库数量筛选后总行数大约为2800,实际写入其他空列只写了2300多行,丢失了几百行,且写入内容有误。
方法1、直接筛选-读取-写入列(不可行)



三、原因:
在于我们读取筛选内容假设是[1,2,3....100],写入的时候遇到空行会被中断又会重新1开始(1,2,3,4,空行又写入1,而不是5)
此时我们可以借助一个辅助序号列,也就是我先在筛选前生成一个序号列,用批量向下填充序号,我把这个辅助行号也读下来,循环读取的内容根据行号去写入


四、隐藏问题:
逻辑听起来是可行的也是对的
但是运行效果跟预想是错的



原因是原因读取筛选指令中-高级-勾选了读取单元格显示的内容(大概率是将空白格也读取进去了,具体情况暂时没搞懂)

所以要取消勾选这个配置,此时就能正确读取

五、解决方法:
循环写入就可借助循环位的第一项作为行号(要记得行号加int()强转),第二项作为写入内容

或者只读行号辅助列,循环写入的时候再去读取同行对应列的内容
