Excel工作簿连接使文件大小变大

我有一系列约30个Excel报告( .xlsm ),每个报告都有一个configuration到数据库的唯一连接。 该连接只是一个简短的SQL脚本,用于抓取报表中显示的数据。 数据被填充到一个表(而不是数据透视表)。

每周我们都需要更新这些报告,所以我使用一个简单的PowerShell脚本打开每个文件并刷新连接。

每隔一段时间,我们都需要向其他工作组发送基本报告,以便他们可以自行手动更新文件。 这可能是一个麻烦,因为一些报告非常大(30mb +)。 这使得发送电子邮件变得困难,并且一天几次上传/下载它们只是一个麻烦。

为了减轻这一点,在我们分发报告模板之前,我尝试删除表中的所有行以及任何未使用的范围。 这有所帮助,但是仍然有几个文件非常大(30mb +),即使我们删除了工作簿中除连接和空表以外的所有内容。

通过testing,我意识到,如果我删除configuration的连接,文件大小变得足够小(<1mb),这是我所期望的。 这使我相信,Excel连接有一种caching需要清除,但我找不到任何参考。

有谁知道一个简单的方法来减less连接的大小,我可以这样做,以编程方式使用VBA / Powershell?

如果删除已configuration的连接可以减小文件大小,则可以编写一个macros来删除连接,将另一个连接重新build立。 正如Noldor130884所build议的那样,您可以自动在Workbook_OpenWorkbook_Close上执行这些macros。

Office Online – 创build,编辑和pipe理与外部数据的连接

以上参考资料似乎在下面做出相关声明:
“删除连接只会删除连接并不会从工作簿中删除任何对象或数据”。

它看起来好像是格式化的问题。 我不知道为什么,但在我的文件excel重新格式化所有行和列,同时添加连接数据的forms。 因此,表是非常大,但如果您检查XML文件,它只显示格式化数据。一旦我手动删除所有“空”行的文件大小是正常的。 希望有所帮助,在我的情况帮助..