博客

怎么把截图里的表格转成 Excel 或 Google 表格

作者 InSnap · 发布于 · OCR, 表格, Excel, Google 表格, 截图

怎么把截图里的表格转成 Excel 或 Google 表格

截图里的表格可以用文字识别转成文本,但列通常保不住。这套流程能把单元格拆对,也告诉你该怎么核对。

一张表格的截图——发票、价格页、后台看板——是像素,不是数据。你不能对它排序、求和,也不能粘进表格软件就让各列对齐。

文字识别能把里面的字取出来。它自己做不了的是重建网格。识别结果是一行一行回来的,而表格的一行恰好是一行文字,里面有好几个用空格隔开的单元格。后面的活都是小规模的整理,而且在表格软件里做,不在截图里做。

识别之后什么还在,什么没了

把这两件事分清楚,后面的流程就顺了。

  • 字符还在。对一张表格截图做文字识别,文字、数字和符号会按阅读顺序出来。
  • 网格没了。屏幕上的列边界就是一块块空白,识别器分不清一段空白意味着「新的一列」「新的词组」还是「缩进」。它往往还会把连续的空格合并掉,于是各列变成了一长行。

这就是为什么直接把 OCR 的结果粘进表格软件,只能得到一列、全都挤在里面。数据是在的,结构得重建一次。

对截图做文字识别

第一步:按识别器看得清的尺寸截图

表格里的字通常很小——表格之所以紧凑就是靠这个。小字也正是识别出错最大的来源,所以开始裁之前先大方地截。

截图时让每一行在屏幕上比几毫米明显高一些,并且识别前不要先把图缩小。如果表格很窄,先把页面放大再截那个更大的画面,而不是截小了事后放大。

InSnap 的识别就是跑在你选中的那块像素上:在表格周围拖一个区域,点截图工具条上的 OCR,识别出的行会出现在选区旁边的面板里。一般来说每一行就是一个表格行。如果某个单元格要重选,也可以在截图上直接按字符拖选文字。

同一行文字在五种字号下,每一档都重新识别一次

第二步:把文字弄进表格软件

从面板里复制识别出的文字,再粘进表格软件。Excel 和 Google 表格都会把带换行的纯文本一行一行地摊到一列里,表格的一行对应表格软件的一行——这正是这里想要的结果。

粘贴含制表符的文本时,Google 表格有时会弹一个 导入 对话框,它分不清制表符是不是列分隔符。Mac 上按 Command-Shift-V、Windows 上按 Ctrl-Shift-V,就是不带格式粘贴,会跳过这个对话框;Excel 里同一个快捷键也行(那里叫粘贴数值)。

如果每一行都落进了同一列,这是正常的。下一步来解决。

第三步:拆列

识别出的那一行里,单元格通常靠一串空格分开,偶尔也靠制表符分开(后者不那么可靠)。两个表格软件都能按它来拆:

Excel。 选中那一列,选择 数据 › 分列,选分隔符号,勾上空格(如果各行是制表符分开的就勾制表符),然后完成。确认之前先看预览:单元格内部的空格——比如「New York」「Acme Inc.」——也会被拆开,所以你可能要再加几个分隔符,或者手动改这几个单元格。

Google 表格。 选中那一列,选择 数据 › 将文本拆分为列,然后把分隔符设成空格(想自己指定就用自定义)。拆分是原地完成的。

Excel 自己的路子。 较新的 Excel 里有 数据 › 自图片,它会对图片文件跑自己的识别,直接建出一张表。可以拿存下来的截图试试:当表格有清晰的网格线时,它经常能给出相当干净的表,后续整理少得多。用之前先确认你的版本有没有。

第四步:核对数字

整理是大家会跳过的一步,也是真正要紧的一步,因为识别失败是悄无声息的。它给你的是最好的猜测,不是报错。

  • 一位一位地对。金额、日期、编号这类东西,看错一个字符在屏幕上根本看不出来,到了下游却要命。把最大的那些值逐行抽查一遍。
  • 核对行数对不对。截图里如果有十二行商品,粘出来的文本只有十一行,那是有两行被并成了一行。
  • 检查空单元格。原来空着的单元格经常在识别结果里整个消失,导致后面每个值都左移一列。空单元格是最容易让表格软件悄悄出错的坑。
  • 看合计。如果表格有合计行,在表格软件里把那一列加一遍对一下。对不上就说明至少有一个数字是错的。

只要涉及钱,这个核对花一分钟,能省掉一个下午。

还有别的办法

如果你只要一个数,别绕表格软件:在截图上直接选中那个单元格的文字复制就行。如果表格是手头已有的 PDF,直接从 PDF 里取文字——PDF 压根不需要识别,取出来是精确的。

对于纸质表格的照片——白板、小票——流程一样,但识别器对付弯曲的纸面和不均匀的光线要差一些。正对着拍,把画面填满,并预期要多改几个单元格。

常见问题

为什么 OCR 的文字粘进 Excel 后全挤在一列里?

因为识别返回的是一行一行文字,不是单元格。列与列之间的间隔在屏幕上是空白,识别器没法可靠地把它们保留成分隔符。事后用「分列」或「将文本拆分为列」把网格重建出来就行。

InSnap 能识别表格并直接导出成表格文件吗?

不能。InSnap 的识别给你的是可选择的文字,你可以复制到任何地方。拆列这步要在 Excel 或 Google 表格里做,在那里也方便核对数字。

识别能处理数字和符号吗?

正常的界面字体里的数字一般没问题,但每个重要的值都值得核对一遍:错的数字和对的数字看起来一模一样。货币符号和千位分隔符多数情况下能保住,但它们也是最先被读错的几类东西,所以要拿合计来比。

识别是在本机进行的吗?

是的,在 InSnap 里。截图和识别出的文字都留在你的设备上,什么都不上传。在 macOS 和 Windows 上,识别都属于免费版的一部分。

下一张截图,只需一个快捷键。

macOS 14.4+(Apple 芯片和 Intel)· Windows 10+(64 位)