很多人在实际使用
EXCEL
过程中发生
EXCEL
文件不明原因的增大,打开计算都很缓慢的现象,有时甚至造成文件损坏,无法打开的情况,以下是
我收集的造成文件虚增的原因及处理办法,对没有提到的其他情况和解决办法,欢迎大家给予补充:
一、工作表中有大量的细小图片对象造成文件增大,这是最常见的文件虚胖原因。可能的原因:
(
1
)从网页上复制内容直接粘帖到工作表中,而没有使用选择性粘帖,
(
2
)无意中点了绘图工具栏的直线或其他绘图对象,不知不觉中在文件中插入了小的直线或其他图形,由于很小,肉眼几乎无法看到,又通过单元格的复制产生了大量的小绘图对象
(
3
)在工作表中插入了图片其他绘图对象,操作中又将其高度宽度设为
0
或很小的值,通过复制产生了大量的对象
(
4
)在行或列的位置中插入了绘图对象,对象的属性为,大小位置随单元而变的(默认的),然后隐藏行或列,或设置行高或列宽为很小的值,从而使插入的对象不能看到
(
5
)工作表中的对象设置了不可见属性(
Visible=false
)或对象的线条和填充色均设为与底色相同
,
使对象无法看到
判断方法:
(
1
)
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
点击浏览该文件,这种方法给文件减肥效果有时是很明显的
,
我曾将一个近
3M
的文件减到
700
多
K
五、
EXCEL
本身的
BUG
所致
参见:
http://club.excelhome.net/dispbbs.asp?BoardID=2&ID=62001
形成原因:在一个工作表中,选取全部单元格,行隐藏,在名称框中输入
32768
行以后任一行的单元格地址(如
A32800
),设置一个固定行高(如
20
),再选取全部单元格,最适合的行高,进度条开始显示,等到进度条消失,保存工作薄,文件大小
1.42M
,这个工作表无论用什么清除格式的办法(无论是清除格式、清除全部、单元格全部删除、用其他工作表覆盖)都不能缩小,怀疑为
EXCEL
之
BUG
,在
EXCEL2000
包括
EXCEL 2003
中都存在该问题
解决办法:选择整个工作表
,
格式
-
行
-
行高
,
随便设一个行高
,
保存。此时文件恢复为正常大小示例点击浏览该文件
再补充两条
六、工作表背景造成的文件增大
因以较大的图片作为工作表的背景,使文件增大
解决办法:除非特别需要,不要用工作表背景,如果确实需要,作为背景的图片要尽可能的小。
七、工作表中插入的图片格式影响文件的大小
工作表插入的图片是
BMP
格式或从绘图软件中直接复制图片粘帖到工作表中
解决办法:把
BMP
文件转换为
JPG
格式,并尽量在绘图软件中将图片调整到在
EXCEL
中实际显示的大小,再插入工作表,不要直接粘帖图片到工作表中
另外两种解决方法:
1
。打开
*.xls
文件
,
另存一下
,
容量会变小一些
..
2
。先为工作簿做一个备份
!
打开工作簿
----
文件
----
另存为网页
----
勾选
"
整个工作簿
"----
保存
----
然后退出工作簿,
然后打开
excel
程序
----
文件
----
打开
----
打开开始保存的
HTML
文件
----
文件
----
另存为
----
把它保存为一个普通的工作簿
----ok !
以上内容来源于网络
很多人在实际使用EXCEL过程中发生EXCEL文件不明原因的增大,打开计算都很缓慢的现象,有时甚至造成文件损坏,无法打开的情况,以下是我收集的造成文件虚增的原因及处理办法,对没有提到的其他情况和解决办法,欢迎大家给予补充:一、工作表中有大量的细小图片对象造成文件增大,这是最常见的文件虚胖原因。可能的原因:(1)从网页上复制内容直接粘帖到工作表中,而没有使用选择性粘帖,(2)无意中点
与从事分析
工作
的人交谈,他们会告诉你他们对
Excel
的爱恨情仇:
Excel
能做很多事情;当涉及到更大的数据集时,这简直是一种痛苦。数据需要很长时间才能加载,在你意识到机器的内存耗尽之前,整个事情就变得无法管理了。更不用说
Excel
最多只能支持1,048,576行。
如果有一种简单的方法,那就是将数据传输到SQL数据库中进行分析。这就是Python拯救世界的方式。
Python中的SQL
首先,让我们研究一下在Python中使用SQL时最流行的选项:MySQL和SQLite。
MySQL有两个
内容提要:本文介绍
excel
文件
太大的9个原因,并针对具体原因给出具体的解决方法,从而解决
excel
文件
太大的问题。
群里时常有朋友问到,
Excel
文件
太大,如何办?首先得找出原因才能有解决的办法。本文针对
Excel
文件
太大给出几方面的原因分析,以对于那些寻求如何缩小
excel
文件
大小的朋友一些帮助。
很多朋友都用上
Excel
2010
硬盘数据采集分析
使用Windows CMD从本地计算机硬盘驱动器中获取全面的目录和
文件
集,这些应用程序使用Python进行大量解析的技术来清除数据中的静态数据,以产生长度为800,000行的CSV
文件
。 对于常规的电子表格程序而言,数据集太大了,所以我倾向于使用Tableau并生成了一些
图形
,这些
图形
显示了对存储在计算机硬盘中的信息的详细了解。
2.关闭
VBA
编辑器,返回
Excel
界面。
打开“宏”对话框(alt+f8),执行“DelCustomStyles”宏即可一次删除所有自定义单元格样式,而内置的单元格样式会保留。
好的,关于Python
处理
Excel
文件
,常用的工具是pandas和openpyxl。pandas是一种数据
处理
库,可以用来读取、写入和
处理
Excel
文件
。而openpyxl是专门用来
处理
Excel
文件
的Python库,可以读取和编辑
Excel
文件
的内容和样式。
以下是一个使用pandas读取
Excel
文件
的例子:
```python
import pandas as pd
# 读取
Excel
文件
df = pd.read_
excel
('example.xlsx')
# 查看前5行数据
print(df.head())
以下是一个使用openpyxl读取
Excel
文件
的例子:
```python
from openpyxl import load_workbook
# 打开
Excel
文件
wb = load_workbook(filename='example.xlsx')
# 选择
工作
表
ws = wb['Sheet1']
# 读取单元格内容
cell_value = ws['A1'].value
# 打印单元格内容
print(cell_value)
以上是两种常用的Python
处理
Excel
文件
的方法,具体使用哪一种取决于你的需求。希望能对你有所帮助!