先给结论:自动导出遗漏分页,通常不是“导出坏了”,而是分页边界没有被完整枚举。检查完整性的第一步是拿到一份可核对的分页清单,再用它比对导出结果;如果清单本身就不全,后面的补导和重跑都会继续漏。
分页遗漏至少有三层可能:页面层、请求层、结果层。页面层是分页控件本身没有把全部页号暴露出来;请求层是自动导出只抓了第一页或固定几页;结果层是抓到了但写文件时被去重、截断或覆盖。
区分方法很简单:先记录导出前看到的总页数或末页特征,再记录导出文件里的实际页数或末条记录特征。如果导出前就看不到末页,问题在页面层;如果看得到但导出文件少,问题在请求层或结果层。
三种取舍对应不同前提,不必强行都选。
判断改写的信号是:每次导出都从第一页开始,且没有记录上次结束位置。判断退出的信号是:同一份数据连续两次导出,末条记录不同且无法解释。
不要只看“导出成功”提示。可用下面这组证据做交叉核对:
这里有一个假设例子:某次导出显示 12 页,每页 20 条,导出文件却只有 200 条。若末页标识不在文件中,优先怀疑只抓了前 10 页;若末页标识在文件中,则要检查第 11、12 页是否被合并或覆盖。这个例子的数字只用于说明比较方法,不代表任何工具的实际分页规模。
在自动导出前,先把分页边界固定下来:记录起始页、末页标识和每页条数。导出完成后,只核对末页标识是否出现、总条数是否等于页数乘以每页条数。如果末页标识缺失,下一步不是立刻重跑,而是先确认末页是否在导出期间发生了变化。
这个动作的结果会直接影响下一步:边界一致但末条缺失,问题在导出逻辑;边界本身变化,问题在数据源,重跑也不会稳定。此时应改为按时间或游标分批导出,而不是继续依赖页码。
请求量、抓取量或导出条数归零,不能单独证明分页处理正确。它们还可能是筛选条件变化、数据源暂时不可用、导出权限变化或排序规则调整造成的。要排除这些解释,至少需要同时核对末页标识、总条数和导出前后的筛选条件是否一致。
如果这三项都对得上,才可以把“分页完整”作为当前结论;否则应先补充证据,再决定保留、改写还是退出自动导出。具体工具的分页入口、导出限制和字段名称,需要以你实际使用的版本和页面为准。