人气 3564

如何解决Excel文件变大的问题 [复制链接]

月明亮 2017-2-20 16:34:02
经常有些人找我说Excel文件变得很大,打开和保存操作都很慢,有时还提示内存不足等。这个问题要怎么解决?
Excel文件大通常就是图片多,数据量大,格式多导致的。
图片多和数据量大容易理解。为什么格式多也会导致文件变大?由于格式不是可以直接想文字实实在在可以辨别存储量是多大的,所以很容易被忽略了。这个下面会详细说明。
既然文件变大了,要怎么解决呢,一个一个来:1)数据量大,基本是无解的。若没设置什么格式,单纯只是数据,10几M的文件可以保存上十万行的数据。这个一般可以通过拆分文件处理或者删除无用的数据。2)图片多,这个也容易解决。图片多也包含各种对象多。删除图片,或者重新换小图。3)格式多就清除格式。格式多是指应用不同格式的单元格多(单元格多不等于数据量大)。这个需要选择单元格,再用菜单“开始”-->“编辑”-->“清除”-->“清除格式”即可。

这个格式多影响很大。我一般建议不要用太多格式。但很多新手很喜欢用各种各样的格式标记东西。处理方法有了,但如何辨别是哪些情况呢?辨别清除是哪些情况才好对症下药。整理了一套处理方法,如下:
1、若是xls文件,先另存为xlsx
xls格式的文件是纯粹的二进制文件,而xlsx格式的Excel文件是基于xml的。另存为xlsx之后,就可以用于下面的解压步骤。有时候甚至另存为xlsx之后,文件就变小了。
2、复制一份,再把文件名后缀xlsx改成zip,解压缩看不到文件后缀的,先改一下系统设置,把文件后缀名显示出来。改成zip之后,就可以解压缩。解压之后,出现如下的文档结构:

可能还有其他文件或文件夹,不过那些无关紧要。主要看这些文件夹或文件:1)xl目录中的drawings文件夹。里面有个xml文件,该文件是记录原Excel文件中的形状信息。2)xl目录中的media文件夹。若原Excel文件有图片、视频等媒体文件,就会出现该文件夹。3)xl目录中的worksheets文件夹。该文件夹里面都记录原文件中的工作表信息。单元格的值和格式都在里面。4)xl目录中的sytles.xml文件。该文件自然是记录该Excel文件的样式信息。
3、再挨个排查看哪些文件占用的空间比较大1)drawings文件夹大,说明里面的形状太多。可以打开原Excel文件,按Ctrl+G定位所有对象,再摁Delete删除。


那个网络流传的“电脑嘲笑找不到对象”的梗也是在这里出现的。

2)media文件夹大,说明里面的图片或其他媒体文件太多了。同样可以用上面的方法定位对象,删除。也可以用PS弄个批处理,批量把图片的尺寸改小(不要问我PS是什么)再覆盖回来。覆盖回来之后,可以把解压出来的文件重新压缩为zip。把zip后缀改成xlsx又是一个Excel文件了。
3)styles.xml文件大,说明样式多。其实这个文件也大不到哪里去,我只是想顺便提一下如何批量清除样式。批量清除样式,可以利用vba代码。打开原Excel文件,Alt + F11 快捷键打开vba界面。右键工程资源管理器,插入新模块。

看不到这个工程资源管理器?点击菜单“视图”-->“工程资源管理器”。在新建的模块写入代码:
PublicSubClearSytles()
OnErrorResumeNext
DimstyAsStyle
ForEachstyInActiveWorkbook.Styles
sty.Delete
Next
EndSub接着,点击上面的运行图标按钮执行这个宏即可。

用完这个模块之后,可以删除这个模块,不必保存代码(保存文件会提示是否继续,点是即可)。

4)workbooks文件夹里面的sheet.xml文件大。通常这个就是具体的工作表了。每个xml就对应一个工作表,可以看出哪个文件比较大。拿我一个朋友发给我的文件举例,TA的worksheets文件夹如下:

很明显有3个工作表比较大:Sheet2、Sheet11和Sheet13。打开TA的Excel文件,发现只有5个表,而且名字对不上。这种情况说明表格被隐藏了,右键工作表标签取消隐藏。至于名字对不上也是正常的,按Alt + F11。看vba界面的工程资源管理器。

很明显可以看出刚刚那3个比较大的工作表对应的表格。再打开对应的表,全选内容(Ctrl + A),清除格式。保存之后,发现19M的文件变成400多k。为什么差距这么大呢?而且那3个表中有两个表的数据确实不多,才100多行。
因为格式的信息量要比单元格值的信息要记录多得多。格式包括字体、背景、边框、单元格大小等等很多信息。若格式设置得越多,需要记录的信息就越多,从而导致文件越大。如果再加上数据量大,且应用不同格式的单元格多的话,这个文件占用空间就变得很大。所以,少用格式。
您需要登录后才可以回帖 登录 | 立即注册

QQ|手机版|精益人 ( 沪ICP备19004111号-1 )|网站地图

GMT+8, 2024-12-22 18:24 , Processed in 0.215933 second(s), 20 queries .

Powered by Lean.ren X3.5 Licensed  © 2001-2030 LEAN.REN