excel - 减小 Excel 文件大小

标签 excel vba

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

一旦用户单击“确定”按钮,就会添加工作表,并且我正在使用模板添加此工作表(该模板中有很多格式和公式)

假设保存工作簿后,添加工作表后文件大小为 10 MB。然后我关闭 Excel 应用程序并重新打开它并保存文件,然后文件大小减小到 8 MB。

有人可以告诉我这可能是什么原因吗?

最佳答案

Unused formatting是 Excel 中“文件膨胀”的最常见原因:紧随其后的是工作表上的“使用范围”比您想象的要大 - Excel 维护工作表上每个单元格的元数据,从 A1 到您最低、最远的单元格曾经编辑过,这需要大量内存。

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

提示:看看工作表滚动条中的 slider (垂直和水平):它们是粗大的灰色 block ,看起来好像只能滚动五十行或五十列吗?或者,如果鼠标靠近它们,它们是否会滚动数百行的灰色小破折号?当 slider 移动的距离等于其自身长度时,它会在可用页面空间中完成“向下翻页”(或向侧面翻页);空间或页面集(或 Excel 中的使用范围)越大,它们就越小。

我建议你的工作簿去膨胀(一定有一个更好的词!放气?消肿?变形?)。过去有很多第三方工具可以实现此目的,但 Excel 2003 及以上版本有一个内置的工作簿重建器:只需单击“保存”和“另存为...”网页即可。然后退出 Excel,重新打开 Excel,然后使用“打开”打开 html 工作簿(尽管是 HTML 文件,但它会有一个 Excel 图标),然后再次“另存为...”xls 文件。再次关闭 Excel,然后查看文件大小。

关于excel - 减小 Excel 文件大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3003349/

相关文章:

vba - 如何将 "flatten"或 "collapse"2D Excel 表转换为 1D?

java - 在Excel宏中调用或使用java jar模块

excel - 通过 TagName 进行网页抓取

excel - 单击按钮后用户窗体未出现

java - 如何在GWT中将ListDataProvider的结果导出到excel

excel - 动态向右填充一个输入函数

vba - 运行时错误91 : Object variable or With block not set

excel - 在多列中搜索多个字符串

连接名字和姓氏的 Excel 宏有时会失败

excel - WorksheetFunction.Transpose 更改数据类型