减小Excel的文件大小

我正在一个Excel应用程序中工作,并向用户提供一个菜单,在Excel应用程序(Excel工作簿)中添加一个新的工作表。

一旦用户点击“确定”button,工作表就会被添加,并且我正在使用一个模板来添加这个工作表(模板中有很多格式和公式)

可以说,如果保存工作簿,添加工作表后文件大小为10 MB。 然后我closuresExcel应用程序并重新打开并保存该文件,然后文件大小减less到8 MB。

谁能让我知道可能是什么原因呢?

未使用的格式是Excel中“文件膨胀”的最常见原因:紧接着的一个原因是表单上的“已使用范围”比您想象的要大 – Excel将维护从A1到最低,最远的表单上的每个单元格的元数据你编辑过的单元格,这需要大量的内存。

但是新工作表中的“使用范围”将被保存为单元格A1到最后一个包含数据的单元格。

一个提示:看看你的工作表的垂直和水平滚动条滑块:他们矮胖的灰色块,看起来他们只会滚动五十行或列? 或者,如果鼠标靠近它们,它们是否会有几百行滚动的灰色破折号? 当一个滑动条移动的距离等于它自己的长度时,它将在可用的页面空间中完成一个“向下翻页”(或侧向翻页) 空间或页面设置( 或Excel中使用的范围 )越大,它们将越小。

我build议去胀气( 有一个更好的词汇!换气?减肥?变形? )你的工作簿。 以前有很多第三方的工具,但Excel 2003以后有一个内置的工作簿重build器:只需点击“保存”和“另存为…”网页即可。 然后退出Excel,重新打开Excel,并使用“打开”打开HTML工作簿(尽pipe是一个HTML文件,它将有一个Excel图标),并再次“另存为…”xls文件。 再次closuresExcel,并查看文件大小。

您可以清除最后一个单元格用于重置最后一个单元格([Ctrl] + [End])之后的所有列和行。 您也可以启用压缩图像。

我使用自动安装(法语)开发一个AddIns以包含在上下文菜单中3个新的button:

  1. 优化
  2. 优化和保存
  3. 切换案例

在这里输入图像说明

这是基于Microsoft Office 2003的KB与个人改进:

  1. 添加图像的压缩
  2. 修复列的错误
  3. 与excel 2007 – 2010的兼容性 – …

解决scheme >你可以在这里下载我的* .xla文件

您可以使用保存为启用macros的文件将其降至最佳内存容量。 我用它来减less大约10 MB到4.5 MB的大小。 这在解决我的问题上帮了我很大的忙。

尼罗河是正确的,“UsedRange”没有正确得到重置导致大量的膨胀。 您可以使用1行VBA代码非常简单地进行重置。

ActiveSheet.UsedRange 

在Excel中打开“开发人员”选项卡,插入一个模块,添加下面的macros,然后运行它

 Public Sub ResetUsedRange() ActiveSheet.UsedRange End Sub 

您也可以将此macros绑定到Excel键盘快捷键,以便使用Application.OnKey事件更快地访问