← 洞见最新技术展示

Excel 当数据库,用到什么时候该换

泛友数字2026/10/29 09:4249 阅读
Excel 当数据库,用到什么时候该换

三个信号里出现两个,Excel 就该退成只读:同时编辑超过 3 人、单表超过 5 万行、需要按人看不同数据。换法分三步,先做只读副本,再双写对账,最后切换写入。只出现一个信号,先优化,不必换系统。

小推车换货车,不是因为推车坏了。货少的时候推车最灵活,谁都能推、随手就停。等到一天要送三吨,问题不在车,在场景变了。判断换不换,看一天要送多少,不看车旧不旧。

先看官方给的上限,心里有个底。Excel 一张表最多 1,048,576 行、16,384 列(Excel 规范与限制)。行数上限一百零四万,听起来很远。

但卡人的通常不是这个上限。同一份规范里还有一条:筛选下拉列表只显示 10,000 项。行过一万,筛选框就找不全,只能靠搜索或加辅助列。

多人协作那条更绕。旧版共享工作簿能开给多人,同时打开的用户上限 256 个;而且含 Excel 表格的工作簿根本不能启用“允许多个用户进行更改”(同页)。

微软自己已经把这个功能归为旧功能,说它限制很多、强烈建议改用共同创作,并且不支持创建表格、数据透视表、条件格式(关于“共享工作簿”功能)。新版本里那几个按钮从“审阅”里删掉了,需要手动加回快速访问工具栏(共享工作簿发生了什么)。

所以阈值按体验定,不按上限定。五万行就开始骂人的表,离硬上限还差二十倍。等撞上限才动手,通常已经晚了半年。

三个信号,各自对应一类撑不住的地方。

  • 同时编辑超过 3 人:共同创作能看到别人正在改,但没有字段级权限,也看不出某一格是谁改的,要翻版本历史。同一格两人改,最后只留一份结果。三个人以内还能在群里喊一声,再多就靠记性。
  • 单表超过 5 万行:全表公式、条件格式、跨表查找明显变慢,加个数据透视要等。五万是经验值,不是官方数字。
  • 需要按人看不同数据:Excel 的权限在文件级,不在行级。要让人只看自己片区,只能拆文件或隐藏列,拆完就有 N 份副本。

三条里出现两条,换。这是经验规则,不是定理。它的用处是让你在还能从容迁移的时候动手,而不是在月末结账那天。

阈值每年校一次。一年翻一倍的表,五万行的线今年就会到;涨得慢的表,八万行也还能用。阈值跟着增长速度走,不跟日历走。

只出现一条,先别换,能省不少钱。只是慢,就关掉自动重算、把历史数据拆到另一个文件、公式换成数据透视或查询。

只是人多,就明确一个字段一个负责人,别两个人改同一列。只是权限,就先按片区拆成几个文件,每个文件一个维护人,其他人只读。

按人看数据还有个变种:按部门看。销售看自己区域,财务看全量。Excel 里只能发两份不同版本,两份就开始对不上,第三份就没人知道哪份对。

反过来说,什么情况别换:一年几千行、两个人维护、只做汇总和上图。这类表换成系统,等于为一把螺丝买一套工具箱,维护成本比表本身还高。

别把“表格做得漂亮”当理由。看板再好看,改一次口径要动二十个公式,这本身就是一个该换的信号。

换也不一定换大系统。三个档:在线表格解决并发,不解决权限和数据量;表单加数据库的低代码工具解决权限和结构化,五万到五十万行够用;数据库加后台解决关联查询、审计和对外接口。

选档看两个数:一年涨多少行,要不要行级权限。涨得慢、权限简单,停在中档就够,别为三万行上一套要三个人维护的系统。

换的成本不只软件。要有人定字段、有人清洗历史、有人培训。经验值:五万行六个字段的表,迁到低档工具,从清洗到切换大概三到六周,占半个人。

迁移分三步,每步都有能验证的东西。

第一步,只读副本。老表继续写,新系统只提供查询。跑两周,把同一张月度报表两边各出一份,数字对上再往下走。

第二步,双写对账。两边都写,每晚比三样:行数、关键字段合计、最新一条记录的时间。差异列成清单,逐条归零。这一步最慢,一般两到四周,经验值。

双写最难的不是技术,是有人忘了去新系统录。所以双写期间要定死:老表只留一个录入口,其他人一律用新系统,否则差异永远清不完。

第三步,切换。关掉老表写入,整份文件设成只读,保留三个月。回滚条件提前写死:新系统连续三个工作日对账无差异,否则退回双写。

Excel 表格与数据库迁移示意
换的时机不是表格满了,是三个信号凑齐两个。

搬家最容易漏三样东西。

主键。每行要有一个唯一编号。表格里常靠第几行定位,一排序全乱,迁移时才发现没有一列能唯一标识一行。

字段类型。日期列里混着“2024.1.1”“1月1日”和空格,金额列里混着“1200元”。不清洗直接搬,报表合不出来,还得回头改数据。

附件。照片、合同扫描件放在共享盘,单元格里只写路径。搬完路径全断,这是迁移返工最常见的原因。

数据量大的表还有一层:Excel 在打开时要把整表读进内存,几十万行的文件打开就要几十秒,随手一排序还可能卡死。数据库不是这样,它只取你要的那几行。

这一条是迁移的真正理由。不是 Excel 装不下,是它每次都要把整袋米倒出来找一颗豆子。

老表别删。至少留一个季度,标记“只读·已归档”,写明归档日期和对应的新系统入口。半年后有人翻旧账,这张表是唯一能解释当时口径的东西。

验收三条,都能当场做。抽二十行,字段值逐个对,日期和金额不许差。同一张月度报表,新旧两边数值一致,口径差异写进备注。

权限测试,用 A 的账号登录,看不到 B 的行,也导不出来。导出这一项最容易被漏掉,表里看不见,导成文件就全看见了。

验收和数据考核别混在一起。验收看数据对不对、权限对不对;考核看还有没有人偷用老表。两件事分开做,别用一张表交差。

最后一句:Excel 不是不能用,是不能当唯一的写入入口。汇总、看图、临时分析它都很好用;写入这件事,交给有主键、有权限、有审计的地方。