解决存在20年的「Microsoft Excel打印时扭曲图像」Bug
解决存在20年的「Microsoft Excel打印时扭曲图像」Bug
如果你也被Excel这个离谱的Bug折磨过——明明在表格里放了一个完美的正方形图片,预览或打印时却变成垂直压扁的长方形,甚至得先故意把页面上的图像弄变形,打印出来才正常——那这篇内容绝对能帮到你!这个Bug居然已经存在20年都没被官方修复,不过现在有两个已验证的可复现修复方案:
方案1:修改图片锚定类型为oneCellAnchor
Excel里的图片锚定分为两种:twoCellAnchor和oneCellAnchor。实测下来,用oneCellAnchor锚定的图片不会出现打印扭曲,但twoCellAnchor锚定的图片百分百中招。
具体操作思路是:找到那个打印时扭曲的图片,把它的锚定类型从twoCellAnchor改成oneCellAnchor,替换Excel文件里的drawing1.xml后重新打开,你会发现图片打印时终于恢复正常了!
方案2:调整页面布局中的字体设置
另一个神奇的修复方法是修改页面布局里的字体:亲测把页面布局字体改成Corbel或Segoe UI(哪怕之后把所有单元格字体改回Calibri也没问题),就能阻止图片打印扭曲,而且还能保留twoCellAnchor锚定!
不过这里有个奇怪的细节:直接把所有单元格字体改成Segoe UI完全没用,必须是在页面布局的字体菜单里设置才行——哪怕之后再改回Calibri,修复效果依然存在。
待解决的疑问
目前我们离彻底解决这个Bug只差一步,但还有两个关键问题没搞清楚,想请教各位精通Excel的大佬:
- 在「页面布局」里设置字体到底改变了Excel文件的什么底层内容?明明页面布局字体设为Segoe UI,但所有单元格字体还是Calibri,为什么就能修复扭曲问题?
- 怎么让Excel默认用
oneCellAnchor锚定图片?现在只要修改图片的某个属性(比如“锁定纵横比”),它就会自动切换成twoCellAnchor,然后扭曲问题又回来了。
备注:内容来源于stack exchange,提问作者Alexei Andronov




