1 前言
今天遇到了一个问题,Excel 2003打开一个表格,提示“不同的单元格格式太多”(见下图)。文件最终打开了,但是缺少很多内容。这一问题的罪魁祸首,就像错误信息说得那样,格式太多。
2 问题描述
在Excel 2003中,可能会遇到“不同的单元格格式太多(Too many different cell formats)”,“Excel遇到了一个错误,必须移除一些格式以避免工作簿损坏(Excel encountered an error and had to remove some formatting to avoid corrupting the workbook)”等提示;在Excel 2013、2010或2007中,可能会遇到“Excel在文件中发现了无法读取的内容(Excel found unreadable content in the file)”这样的提示。
上述提示都和单元格格式有关。其他与格式有关的问题还有:
- 打开一个文件后,所有格式都被去掉;
- 在工作簿之间拷贝粘贴后,文件会变大;
- 无法粘贴,Excel会提示“Microsoft Excel无法粘贴数据”。尽管剪贴板不为空,但菜单上所有的“粘贴”选项或键盘上的Ctrl+V快捷键会被忽略;
3 原因及解决
3.1 原因
Excel 2003最多允许工作簿包含4000个不同的单元格格式组合;Excel 2007及更高版本最多允许工作簿包含64000个不同的单元格格式组合。“组合”代表应用到单元格的,唯一的元素格式集合。组合包括所有的字体格式(如:字体、字号、倾斜、加粗、下划线),边框(如位置、粗细、颜色),单元格格式(cell patterns),数字格式,对齐,以及单元格保护。
如果两个或多个单元格共享相同的格式,它们只使用了一个格式组合;如果单元格之间有任何格式上的不同,则每个单元格都使用了不同的组合。
在Excel的工作簿间拷贝内容时,由于拷贝了自定义格式,格式的数量可能会增加。
超过4000个格式的工作簿,可能可以被Excel 2007或更高版本打开(因为增加了格式数量上限),但用Excel 2003打开会报错。
3.2 解决
3.2.1 去除所有格式
以Office 2007为例(更高版本与之类似):
- 打开需要去除格式的文件;
- 打开RemoveStyles.xlam;
- 点击“Remove Styles”按钮(见下图)。
Excel 2003与之类似,区别是第ii步的文件变成了RemoveStyles03.xla,第iii步的按钮变成了“格式”菜单中的“Remove Styles”选项。
3.2.2 简化工作簿中的格式
下面是简化格式的一些建议:
- 使用标准字体。在所有单元格使用相同字体能减少格式组合的数量。
- 如果在工作簿中使用边框,应连续使用。注意,如果在某一单元格的右边使用了边框,没有必要在右边相邻单元格的左边使用边框,因为它们重叠了。
- 如果使用了单元格格式(cell patterns),在去除格式的时候,使用“无填充颜色”选项。
- 使用单元格样式标准化整个工作簿的格式。
注意,简化或标准化工作簿中的格式之后,在添加新的单元格格式前,要先保存,关闭,并重新打开工作簿。
4 参考文档
4.1 You receive a "Too many different cell formats" error message in Excel
Visits: 2589