决定能捞回多少的是解析方式,不是损坏程度。文本类格式(JSON、XML、CSV、TXT)是人眼可读的字符流,程序逐字符往后扫,扫到哪里坏就停在哪里,前面那段完好无损。而 XLSX 内部是一个压缩包加几十份 XML,入口索引一坏,全表都取不出来 —— 哪怕数据本身一个字节都没丢。这条区别决定了同一句「文件坏了」底下,有的能救回九成,有的只能靠备份。

先做这一步,再谈别的

把损坏的文件复制一份出来,所有尝试都在副本上做。 修复类操作大多会写回原路径,一次失败就把还能读的部分也覆盖掉了。原始字节一旦被错字符覆盖,永久无法恢复。这一条优先级高于任何技巧。

三类文件的实际抢救率

JSON:「JSON格式化」解析失败时会给出行号、列号和该位置前后四十个字符,还额外扫描四类常见错误 —— 结尾多余逗号、单引号字符串、注释、以及非法字面量。报错行之前的那部分内容是可用的,从最后一行往上删到报错处,剩下的结构往往就是你要的数据。

XML:「XML转换」用的是自写事件式解析器,逐字符扫描而不是整份建树,几 MB 的文件也不会让页面长时间失去响应。校验范围包括标签闭合与嵌套顺序、属性引号是否成对、是否只有一个根元素、注释与 CDATA 是否正确闭合、实体引用是否合法,同样给行列号。截到出错那一层之前的完整节点即可另存。

二进制表格:XLSX、DOCX 打不开时报修复提示,这条路要交给办公软件自己的修复功能或回到源系统重导,本站没有对应的救援工具。

五步定位法

  1. 用记事本打开看头几百个字符。全是可读写中文,说明是文本类,有救;满屏乱码符号,多半是二进制或压缩结构。
  2. 搜最后一个完整结构。JSON 找最后配对的右括号,XML 找最后闭合的标签。
  3. 删掉尾巴试解析,用工具的行列号反复收敛位置。
  4. 成功一段就先存一段,别指望一口气全修好。
  5. 回源头比对:行数、合计、关键字段和原始记录核一遍,缺的东西不可能凭空补出。

底线判断

下载中断是最常见的假损坏:文件大小明显偏小、末尾戛然而止,这种优先重下一遍而不是修文件。传输过程被杀软截断也会留下类似痕迹。如果这份数据重要且只有一份,不要指望局部救回 —— 文本类能拿到的是「已经写进去且结构完整的那部分」,中间被抹掉的段落不会自己长回来。日常防一手就够:重要文本定期用 「TXT处理」导出一份纯文本副本,它不占每日次数也不上传。