📌 软件教程

WPS 打开 Excel 文件格式全乱了?这几处设置先对齐

同一份 xlsx,在同事的 WPS 里打开,字体挤成一团,公式变成死值,图表也跑了版。我从字体缺失查到兼容模式,从默认保存格式查到宏被拦,连打印区域错乱都翻出来了。这篇把那次排查的顺序原样写下来,顺便说说我现在给两边都留着的那几套设置,省得下次再从头发呆。

✍️ 快乐自给自足 🕒 2026-10-19 09:59 👁 9 阅读 📖 6,527 字 ⏱ 约 14 分钟

事情是从一张 3.7MB 的报价单开始的

上周二下午,销售部的小周抱着笔记本跑到我工位,说客户发来的报价单在她电脑上打开全乱了。她那台是戴尔 Latitude 3400,装的是 WPS Office 2019 专业版,具体版本号我看了下是 11.8.2 那一串。同一个文件,在我这台装了 Excel 2016 的机器上打开是正常的,到她那儿字挤在一起,列宽也不对,有几个数字还变成了日期。

文件不大,3.7MB,一个工作簿里塞了十二个工作表,主报价表八千多行,剩下的是各个区域的明细。文件名是 2024Q4报价单_终版_改3.xlsx。我看到这个名字就有点头疼,一般带 终版 和 改3 的文件,里面多少都有点历史遗留问题。

我先让她把文件发我一份,别在原文件上折腾。她直接微信传的,传过来之后我发现文件比原来小了 0.2MB,后来才知道微信传文件不会改内容,是她自己中间另存过一次,把一些东西丢了。这个细节当时没在意,后来排查条件格式的时候才反应过来,白走了半小时弯路。

所以这件事从头到尾我犯的第一个错,是相信了她手上那份文件跟我这份是一样的。办公场景里,两个人说的同一个文件,往往已经不是同一个文件了。这句话听着像废话,但我真是被它坑过不止一次。

先把字体这件事查清楚

第一眼看到的现象是字挤在一起,行高没变,字却顶到了格线上。我第一反应是字体不一样。Excel 里默认的中文字体这些年换过几轮,2016 默认是等线,WPS 那边很多版本默认是宋体或者微软雅黑,同一个字号下,这三种字体的字宽差得挺明显。

我在她那台机器上打开字体下拉框看了一眼,表里指定的是微软雅黑,她电脑上确实有这个字体,所以不是缺字体。问题出在列宽上:Excel 的列宽是按默认字体的字符宽度算的,她在 WPS 里把列宽拉过,保存之后写进文件的是字符数,换到字体渲染不一样的机器上,实际像素宽度就变了。

还有一个更隐蔽的:她机器上装了方正姚体,是做别的方案时装的,报价单里有三行标题用了这个字体。我这边没装,Excel 自动替换成了宋体,字宽一变压根看不出是替换,只觉得那几行字怪怪的。这种替换 Excel 不会弹提示,WPS 会,所以在她那边看着正常,我这边看着别扭。

解决办法说出来很土:把标题字体统一改成微软雅黑或者等线,去掉一切花体。这事我跟她解释了三遍她才同意,她觉得方正姚体好看。我说好看归好看,客户那边没装这个字体,看到的就不是你设计的样子。她想了想,说那还是统一吧。

顺带说一句,查字体有个快办法,在 WPS 里按 Ctrl 加 A 全选,看字体框显示什么。如果显示空白,说明选区里有多种字体,得一个个单元格点。我那天就是这么一格一格点了四十多分钟,点到后面眼睛都花了。

那天我还发现她的系统里装了一堆来路不明的字体包,两三百个,WPS 启动都要慢几秒。我建议她清理一下,她没舍得,说做设计用得上。这条建议到现在还挂着,没执行。

字号也是个隐形变量。她那份表里有一半单元格是 10.5 号,另一半是 11 号,看着差不多,实际一行的字宽差百分之五。我这边默认 11 号,那些 10.5 的行在她屏幕上刚好放得下,到我这儿就换行了,行高没跟着变,字就被切掉半截。统一成 11 号之后,切字的现象没了。

行高我改成了自动调整,选中整表,开始选项卡里点格式、自动调整行高。注意这个操作会把手动拉过的行高全部重置,包括那些故意做高的标题行。我一般先做这一步,再把标题行单独调回去,顺序反了就得重来。

还有一个跟字体无关但长得很像的问题:她那台笔记本的系统缩放是百分之一百二十五,Excel 会跟着 DPI 缩放界面,列宽在屏幕上的视觉宽度跟实际字符宽度不是一回事。我让她把显示缩放临时调到百分之一百,再看那份表,果然又是另一个样子。这个不影响打印,只影响你判断。

字体这块我收尾时留了个清单在共享盘的说明文档里,写着这份报价单只允许用微软雅黑和等线两种,字号只允许 10.5 和 11。清单是给小周看的,她会不会照做我不敢保证,但至少出了问题有据可查。

兼容模式,名字听着无害

第二个现象是有几个公式算出来的数不对,差得不多,就几毛钱。我把文件拿到自己机器上看,标题栏上写着 兼容模式,我当时还没当回事,以为只是个提示。后来查资料才知道,兼容模式意味着文件还是按老版本的规则在算,一些新函数和新特性会被限制。

这份报价单最早是 2013 年建的,一路改到现在,文件格式其实一直是 xlsx,但里面残留了一些旧版本的痕迹。WPS 打开的时候自动进了兼容模式,Excel 打开也进了,只是 Excel 的提示更明显,标题栏那行灰字一直在。

退出兼容模式的办法是另存为一次,格式选 xlsx,会弹一个对话框问要不要升级,点确定。我操作完之后文件从 3.7MB 变成了 3.9MB,多出来的部分是转换后新增的元数据。公式重算了一遍,那几毛钱的差额消失了,说明确实是旧规则的问题。

这里要提醒一句,升级格式是不可逆的,老版本的 Excel 打不开升级后的文件。我们公司还有两台装着 Office 2007 的机器,在车间用,所以这份文件我另外留了一个副本没升级,专门给那两台机器用。麻烦是麻烦,但总比车间那边打不开强。

兼容模式还有个副作用,某些函数的参数提示会少,尤其是新加的 IFERROR 之外的几个。我第一次在兼容模式里写 XLOOKUP,直接报错说函数不存在,换到正常模式就好了。这个跟 WPS 版本也有关系,她那个 2019 专业版对 XLOOKUP 的支持是后来补的补丁才有。

公式变成死值,多半不是公式的问题

小周最着急的一点是,有几个单元格在她那边显示的是数字,点进去看却是公式,而且怎么改都不重算。她以为公式坏了,我一看,是计算选项被设成了手动。这个设置在 WPS 里藏在公式选项卡下面,叫计算方式,选自动还是手动。

手动模式下,你改任何一个引用单元格,公式都不会自己更新,得按 F9 重算。她那份文件不知道什么时候被人设成了手动,可能是某次数据量太大卡住了,有人图省事改的。改回自动之后,所有数字立刻变了一遍,有几个还变了挺多,她当场愣住。

还有一种情况是公式被转成了值。她之前为了发给客户,做过一次选择性粘贴数值,粘完忘了撤,接着在那个文件上继续改。这种情况点单元格看编辑栏就知道了,编辑栏里是数字不是公式。我让她把原始文件找回来重做,她说原始文件在另一个同事的 U 盘里,找了半天没找到。

所以那天我们是从一份被粘成值的文件往回倒推的,靠备注和邮件记录把几个关键单价补回去。补到后面有两个数实在找不到出处,我按同区域其他报价的中位数估了一个,跟她说了,让她自己再跟销售确认。这种事我不太喜欢干,估出来的数进了报价单,后面出事说不清。

另外提醒一下,WPS 和 Excel 对跨工作簿引用的处理有差别。这份报价单里有几个公式引用了另一个叫 价格库.xlsx 的文件,路径是绝对路径,写到 D 盘一个中文名的文件夹里。文件一挪位置,公式就变成 REF 错误。我后来把价格库的内容直接复制成一个工作表塞进同一个文件,虽然文件大了点,但再也没出过引用错误。

顺便说说浮点那点破事。有次对账差了三分钱,我盯着屏幕看了半小时,以为是哪位同事录错了。把单元格小数位调到十五位才看清,两个看着都是 128.4 的数,底层一个是 128.39999999999998,另一个是 128.40000000000001。Excel 和 WPS 在显示上都做四舍五入,肉眼完全分不出来,一求和就差几分。后来凡是金额列,我都在公式外面套一层 ROUND 保留两位,再把算好的值粘贴回去,这种差三分钱的事就没再出现过。

日期那一列也踩过。同事从系统导出的日期,在我这台机器上显示成 45876 这样的五位数,在她那台显示成 2025/8/1。她以为文件被人动过,其实只是单元格格式掉回了常规。序列号本身没变,两台机器算出来是同一天,看起来却像两个世界。碰上这种情况别急着重新输入,选中整列把格式设成日期,或者用 TEXT 函数把输出样式写死,跨机器传文件就踏实多了。

还有连接符那点事。我常拿 A2 加横线加 B2 拼编号,自己电脑上是 20250801-037,发到 WPS 那边可能变成 45870-37,前半截成了日期序列号。原因还是格式继承,Excel 拼接时按底层值走,WPS 有几个版本会先按显示值走,两边口径不一样。稳妥点写成 TEXT(A2,"yyyymmdd") 再拼 TEXT(B2,"000"),谁打开都一样,啰嗦是啰嗦,省心。

循环引用也提一句。有回表格一打开就弹提示,说存在循环引用,状态栏左下角挂个零。我顺着公式追了半天,才发现自己把合计写进了合计区域里,等于自己算自己。这种错不难改,难在找位置,尤其表大、列多、还藏着几行隐藏行的时候。我的笨办法是先把迭代计算关掉,让它直接报错,再一格一格点引用箭头,慢是慢,比瞎猜强。

图表跑版,跟字体是同一个病根

报价单第二页有个柱状图,做的是各区域报价对比。在我这边看,图例在右边,柱子间距正常。到她那边,图例跑到了图上面,还压住了标题,柱子挤成一坨。她截了图发给我,我第一眼看还以为是两个不同的图。

图表跑版的原因还是字体和列宽。图表的绘图区大小是按锚定的单元格范围算的,列宽一变,绘图区跟着变,图例为了不重叠就自己挪位置。加上字体宽度不同,标题那一行的实际渲染宽度也不一样,挤到一起是必然的。

我的处理办法是把图表的锚定方式改成 移动但不调整大小,右键图表,设置图表区格式,属性那一栏里有三个选项。选中间那个之后,列宽怎么变,图表大小都不动,只会跟着单元格移动。这个设置是 Excel 和 WPS 都认的,写进文件里跨软件有效。

图例的位置我也固定了,不选自动,手动选靠右,间距给了固定值。标题字号从 14 降到 12,因为 14 号微软雅黑在窄一点的屏幕上会换行。这些调整都很琐碎,但做完之后两边打开基本一致,剩下的差异肉眼看不出来。

还有一个小坑,图表的数据源如果引用了整列,比如 A 到 A,WPS 和 Excel 对空行的处理不一样,Excel 会忽略末尾空行,WPS 有时候会把空行算成零,图上就多出一截贴地的柱子。我改成引用具体范围,八千行就写 A2 到 A8000,两边都老实了。

条件格式丢了一半,颜色还剩一点

报价单里有一列毛利,低于百分之十五的标红。在小周那边,红色只剩前三百行有,后面全是白的。她一口咬定是 WPS 把条件格式弄丢了,我一开始也这么以为,差点就去骂软件。

查下来的结果是应用范围被截断了。条件格式的管理规则里能看到,这条规则的应用范围写的是 A2 到 A300,后面那七千多行压根不在范围内。原因大概是她中间插入过行,或者从别的地方复制粘贴过数据,范围没有跟着扩展。

这个跟软件无关,是操作习惯的问题。我见过太多人插入行之后条件格式不生效,以为是软件坏了。修的办法很简单,打开条件格式管理,把应用范围改成整列或者明确的 A2 到 A8000,确定,红色立刻铺满。

还有一类是条件格式本身不兼容。Excel 2016 之后有一种基于公式的规则,WPS 老版本对某些公式的支持不完整,打开之后规则还在,但判断结果不对。这种就得把公式改写成两边都认的写法,比如少用 INDIRECT,多用直接的单元格引用。

那天还发现文件里有十七八条重复的条件格式规则,颜色一层叠一层,改一条要等两秒。我花十分钟清理成四条,文件打开速度快了不少。规则这东西跟抽屉一样,塞多了自己都找不到。

条件格式还有一个坑是优先级。同一个区域挂了四五条规则,只要有一条先命中并且勾了如果为真则停止,后面的就永远不执行。我那次做库存预警,红色明明设了却没出来,查了半天才发现前面有条数值大于零标绿的规则压在上面。打开管理规则,把顺序拖一下,或者干脆把不用的删掉,立刻正常。规则不是越多越好,这话我算是用一上午换来的。

从网页复制表格带过来的格式也很要命。粘一次,整张表多出七八条规则,有底色、有边框、还有一堆我看不懂的图标集,文件体积从两百多KB涨到快两个MB,滚动都卡。后来我养成习惯,粘完先选中区域,清除格式,再重新设自己的样式。Ctrl 加 Shift 加 V 只粘值这一个动作,救过我无数次,尤其是从后台系统导数据的时候。

色阶和图标集这类可视化格式,看着直观,跨机器也最容易变形。色阶的中间值是按当前区域的最小值和最大值实时算的,你在自己机器上看着层次分明,别人筛选过数据再打开,颜色分布完全变了样。图标集更明显,老版本只认三色箭头,新版加了五星、信号格,存成旧格式就退回默认样式,甚至直接不显示。做汇报材料时我宁可手动画,也不赌对方的版本。

还有个细节,条件格式的作用范围是按选区记的,不是按列名记的。你在 A2 到 C100 上设了规则,后来在中间插了五行,范围会跟着变成 A2 到 C105,多数时候是对的;但如果你是整列选、又在别处删过行,范围可能只覆盖到一半,下面那截就裸着。每次改完表结构,我都习惯点开管理规则扫一眼范围,比事后被人指出来强。

默认保存格式,坑埋得最深

前面那些都是打开时候的问题,还有一个问题是在保存那一刻埋下的。小周习惯直接点保存,WPS 的默认保存格式在她那台机器上被设成了 et 格式,也就是 WPS 自己的表格格式,不是 xlsx。她以为存的是 xlsx,发出去客户打不开,回头又来找我。

这个设置在 WPS 的选项里,叫保存,下面有一行默认保存格式,可以选 xlsx 或者 et。我给她改成了 xlsx,并且把 保存时提示格式兼容性 那个勾也打开了。这样每次保存如果用了特殊功能,会弹窗提醒她可能丢东西,她至少知道自己在干什么。

xlsx 也不是万能的。WPS 有些自己的函数,比如某个文本处理函数,存成 xlsx 之后在 Excel 里会变成不认识的名字。这种函数我一般让她别用,宁可多写两步用基础函数拼出来。跨软件的东西,能用笨办法就用笨办法。

另外还有一个自动保存的坑。WPS 有云同步,文件放在云盘目录里会自动上传,上传过程中如果网络断一下,本地文件可能只写了一半,打开就提示损坏。我们有一次差点丢了一份改了三个小时的报价单,靠 WPS 的备份中心找回了前一版。从那之后我让她把重要文件放本地,需要备份手动复制一份。

宏被拦和打印区域,两个边角问题

报价单里有个小宏,用来一键把所有 sheet 的页眉换成当天的日期。这个宏在 Excel 里能跑,在 WPS 里被拦了,提示宏已被禁用。WPS 默认的宏安全级别比较高,而且需要装 VBA 组件,有些个人版根本没装。

我的处理是不去动安全级别。把安全级别调低这事,看着省事,实际上是在给自己挖坑,尤其是这台机器还收客户发来的文件。我改成手动执行,需要的时候点一下,跑完就完。多花十秒,换个安心,我觉得划算。

打印区域是另一个边角问题。文件里每个 sheet 都设了打印区域,有的是 A1 到 H60,有的是 A1 到 H200,明显是历史上不同的人设的。换了软件打开,打印预览出来的页数从九页变成十五页,多出来的全是空白页。销售拿去打印,浪费了小半包纸。

清打印区域的办法是页面布局里点打印区域,取消打印区域,再重新框选。我花了二十分钟把十二个 sheet 全清了一遍,重新按实际内容设置。顺手把纸张方向统一成横向,缩放选成 fit to 一页宽,打印预览从十五页压到七页,纸也省了。

现在我给两边都留的那几套设置

折腾完这一圈,我给小周那台机器做了几件事:字体清理掉花体,只留微软雅黑和等线;默认保存格式改成 xlsx;计算方式确认是自动;宏安全级别不动,改成手动执行;WPS 的兼容性提示打开。做完这些,同样的文件两边打开,差异已经小到可以接受。

我自己这边也留了一手。凡是客户或者同事发来的 xlsx,我打开之前先复制一份,命名加个日期后缀,改的时候只改副本。这个习惯听起来啰嗦,但它救过我两次,其中一次是对方发来的文件本身就有问题,我手上还有一份原始件可以对。

说到底,WPS 和 Excel 打架这件事,九成不是软件谁对谁错,是文件本身带着太多历史包袱。字体、列宽、条件格式范围、打印区域、兼容模式,每一样都是某次随手操作留下的痕迹,攒上几年,就成了一个谁打开都不一样的东西。修的办法不是换软件,是把这些痕迹一条条擦掉。

小周后来问我,那以后到底该用哪个。我说看你发给谁,发给客户用 xlsx,自己内部用什么都行,但一个文件最好只由一个人主改,别两个人来回传着改。她哦了一声,抱着电脑走了。我估计她没完全听进去,不过下次再乱,至少知道该找哪几个地方看。

🔠 字号

看累了?去工具区松一松 🧘

白噪音、深呼吸、三分钟小游戏,满血复活再回来。