大表 Excel 在线处理技巧:预览、分批与性能避坑

2026-07-18

大表在线处理容易踩的坑

几万行的导出表在本地 Excel 里还算能打开,一上到网页工具就可能:

  • 上传超时或生成失败
  • 预览卡顿,浏览器标签页无响应
  • 单次 SQL 脚本过大,SSMS 执行缓慢甚至锁表

ComTools 多数 Excel 工具对单次数据有 约 50,000 行 上限(如 转 SQL去重)。下面按「先瘦身、再转换、再入库」给出可落地的做法。

工具侧限制一览

能力 典型限制 说明
Excel 转 SQL / 去重 5 万行/次 超出请拆分后多次处理
SQL 批量 INSERT 约每批 500 行合并 减轻语句数量,库端仍建议分批提交
格式化预览 前约 10 导出仍含全部行
去重预览 差异/删除行展示截断 下载结果为完整处理

技巧 1:先拆再处理

  • 按 SheetExcel 拆分 把多 Sheet 工作簿拆成多个 xlsx,逐个去重/转 SQL。
  • 按行段:在 Excel 中按月份、区域筛选后「另存为」多个文件,或拆成多个 CSV。
  • 按列瘦身:导入库前删掉备注、截图、临时列,减小体积与解析时间。

技巧 2:预览只要「够用」

  • 大文件优先点 下载结果 / 下载 .sql,少在页面里长时间滚动预览。
  • Excel 格式化 预览仅用于确认样式;样式满意后直接导出。
  • Excel 对比 差异列表最多展示约 200 条;全量 diff 可先 转 JSON 再本地对比。

技巧 3:SQL 入库分批

  1. 转 SQL 开启 批量 INSERT
  2. 下载 .sql 后在客户端按 500~1000 条语句 分段执行(或拆成多个脚本文件)。
  3. 导入前可暂时禁用非聚集索引,导入后重建。
  4. 每批后核对 @@ROWCOUNT / COUNT(*)

详见:INSERT 指南CSV 导入注意事项

技巧 4:合并与去重的顺序

大文件不要先盲目合并成「超级文件」:

小文件各自去重(可选)
    → 再合并(或库内多次 INSERT)
    → 总表再去重一次(若需要)
    → 转 SQL

完整链路见:合并→去重→转 SQL 工作流

技巧 5:格式与编码

  • CSV 统一 UTF-8,避免二次转码放大耗时与乱码排查成本。
  • 日期列先统一显示格式,再导出,减少库端类型转换失败重试。
  • 表头规范(无空格、无重复列名)能减少映射返工——见 表头规范化

推荐检查清单

[ ] 单文件数据行 ≤ 约 5 万,否则已拆分
[ ] 已删除无用列 / Sheet
[ ] 大操作选择下载文件,而非长时间预览
[ ] SQL 脚本已分批,测试库试跑通过
[ ] 生产导入前已备份

相关工具

常见问题

Q:刚好超过 5 万行怎么办?
A:按时间或主键范围拆成两个文件,各生成一份脚本,顺序执行。

Q:浏览器卡死?
A:关闭其他重标签页;优先下载结果;必要时换较小文件或拆分后再试。

Q:能否提高上限?
A:在线共享环境为稳定性统一设限;更大批量建议本地脚本或库内 BULK INSERT / LOAD DATA


English version