EXCEL文件不明原因增大

今天在进行桌面支持时,发现用户的excel文件无辜增大,到网络search下,发现基本上就是这篇文章作者所述的,特转贴供参考:
很多人在实际使用EXCEL过程中发生EXCEL文件不明原因的增大,打开计算都很缓慢的现象,有时甚至造成文件损坏,无法打开的情况,以下是我收集的造成文件虚增的原因及处理办法,对没有提到的其他情况和解决办法,欢迎大家给予补充:

一、工作表中有大量的细小图片对象造成文件增大,这是最常见的文件虚胖原因。
可能的原因:
(1)从网页上复制内容直接粘帖到工作表中,而没有使用选择性粘帖,
(2)无意中点了绘图工具栏的直线或其他绘图对象,不知不觉中在文件中插入了小的直线或其他图形,由于很小,肉眼几乎无法看到,又通过单元格的复制产生了大量的小绘图对象
(3)在工作表中插入了图片其他绘图对象,操作中又将其高度宽度设为0或很小的值,通过复制产生了大量的对象
(4)在行或列的位置中插入了绘图对象,对象的属性为,大小位置随单元而变的(默认的),然后隐藏行或列,或设置行高或列宽为很小的值,从而使插入的对象不能看到
(5)工作表中的对象设置了不可见属性(Visible=false)或对象的线条和填充色均设为与底色相同,使对象无法看到


判断方法:
(1)编辑→定位(快捷键:F5或Ctrl-G),定位条件中选“对象”,确定后会显示很多被选择的小对象(这种方法在隐藏列或行中的对象并不能看到)
(2)用VBA对对象进行计数,看看有多少个对象在工作表中,与你的工作表中需要的对象数量是否相符

Sub countshapes()
Dim n
n = ActiveSheet.Shapes.Count
MsgBox "本工作表共有" & n & "个对象"
End Sub


解决办法
(1)如果确认工作表中没有你需要的对象或控件,用CTRL-G,定位,定位条件中选“对象”,确定后按DEL键删除,会删除工作表中所有的对象
(2)用VBA删除,可以根据需要删除高度或宽度小于一定值的小对象,如

Sub delshapes()
Dim sp As Shape, n
For Each sp In ActiveSheet.Shapes
If sp.Width < 14.25 Or sp.Height < 14.25 Then   '约小于0.5cm,根据需要设定
sp.Delete
n = n + 1
End If
Next sp
MsgBox "共删除了" & n & "个对象"
End Sub






二、工作表中在很大的范围内设置了单元格的格式或者条件格式


可能的原因:
操作时选择在很大的区域设置或复制了单元格的格式或条件格式(并不是整行整列),而真正用的区域并不很多,造成工作表内容不多,文件却很大。


判断方法:
工作表滚协条的拖动滑标很小,拖动滑标向下可以达到很大的行号或列标,滑标拖到最下或最右的位置显示的列标或行号就是实际设置了单元格格式的地址


解决办法:
1、定位真正需要的行号下一行,按CTRL+SHIFT+下箭头,选择所有的多余行(也可以在名称框中输入行号如:2000:65536),编辑-清除-格式(或全部),同理清除可清除多余列的格式
2、如果需要在一行或一列的很大范围设置统一的单元格格式,可以选择整行或整列设置单元格格式,而不要只选择行列的一部分单独设置格式,再根据需要对行列的个别单元格设置单独的格式,对整行或整列甚至整个工作表设置单元格格式并不会造成文件虚增的问题,对A1:A65536设置单元格格式与对A1:A65535设置单元格格式文件太小是完全不同的
3、如果欲对已设置的不同格式的单元格设置整列或整行统一的格式,应选整行或整列,先清除单元格的格式或将单元格格式设为常规,再对整行或整列设置其他的单元格格式,直接设置有时可能并不能使文件减肥
4、对条件格式也可用编辑-定位,定位条件中选“条件格式”,然后在格式-条件格式中删除条件格式

三、为很大的区域设置了数据有效性

形成原因:
与第二项基本相同,选择很大的区域设置了数据有效性,或将有有效性设置的单元格复制到很大的区域,尤其是在有效性设置中进行了“输入法”“输入信息”“出错警告”的设置,更具有隐蔽性,一般不易发现。


判断方法:
与由于单元格格式造成文件虚肥的原因相同,在清除多余区域的单元格格式后文件尺寸仍没有减下来,就应该考虑是不是有效性设置原因引起


解决办法:
选择多余的单元格区域,数据-有效性,在“设置”、“输入信息”、“出错警告”、“输入法”页面分别执行“全部清除”







四、公式复杂,公式很长

由于单元格公式复杂,公式太长,造成文件增大
解决方法:
针对大量重复使用的公式(包括相对引用的公式),用定义名称的方法简化
下例中原文件用VLOOKUP公式文件189K,用定义名称后文件减小到117K




再补充两条

六、工作表背景造成的文件增大

因以较大的图片作为工作表的背景,使文件增大

解决办法:除非特别需要,不要用工作表背景,如果确实需要,作为背景的图片要尽可能的小。

七、工作表中插入的图片格式影响文件的大小

工作表插入的图片是BMP格式或从绘图软件中直接复制图片粘帖到工作表中

解决办法:把BMP文件转换为JPG格式,并尽量在绘图软件中将图片调整到在EXCEL中实际显示的大小,再插入工作表,不要直接粘帖图片到工作表中


      本文转自fuhaixiong 51CTO博客,原文链接:http://blog.51cto.com/heliy/286685,如需转载请自行联系原作者







上一篇:阿里巴巴全资收购知名CPU公司,铁了心做好“中国芯”!


下一篇:Oozie 中各种类型的作业执行结果记录