我有一系列大约30个Excel报告(.xlsm
),每个报告都有一个配置到数据库的唯一连接。连接只是一个简短的SQL脚本,用于获取要在报表上显示的数据。数据填充到表格(不是数据透视表)中。
我们每周都需要更新这些报告,因此我使用简单的PowerShell脚本打开每个文件并刷新连接。
我们经常需要将基本的30个报告发送给其他工作组,以便他们可以自己手动更新文件。这可能会令人讨厌,因为有些报道非常大(30mb +)。这使得电子邮件变得困难,每天上传/下载几次只是一件麻烦事。
为了缓解这种情况,在分发报告模板之前,我尝试删除表中的所有行以及任何未使用的范围。这有所帮助,但即使我们删除了除连接和空表之外的工作簿中的所有内容,仍然有几个文件非常大(30mb +)。
通过测试,我意识到如果删除已配置的连接,文件大小会变得足够小(<1mb),这正是我所期望的。这让我相信Excel连接有一种需要清除的缓存,但我无法找到任何参考。
有没有人知道以这种方式减少连接大小的简单方法,我可以使用VBA / Powershell以编程方式执行此操作?
答案 0 :(得分:1)
如果删除已配置的连接会减小文件大小,您可以编写一个宏来删除您的连接,另一个宏来重新建立它们。正如Noldor130884建议的那样,您可以在Workbook_Open
和Workbook_Close
上自动执行宏。
答案 1 :(得分:0)
Office Online - Create, Edit & Manage connections to external data
以上参考资料似乎在下面作出相关陈述:
&#34;删除连接只会删除连接,并且不会从工作簿中删除任何对象或数据。&#34;
答案 2 :(得分:0)
我认为问题与格式有关。我不知道为什么,但在我的文件excel重新格式化所有行和列,同时添加表单与连接数据。因此,工作表非常大,但如果您检查xml文件,它只显示格式化数据..一旦我手动删除所有“空”行,文件的大小再次正常。希望有所帮助,帮助我的情况..