我有几个20 MB的Excel文件,它们需要在开始营业前(星期一上午8点)每周刷新一次.
这些文件包含一个数据表,数据来自sql Server视图,通过外部连接(ODC文件).
它们还有一个透视表,在刷新数据表后也需要刷新.
我试图找到一个解决方案( Windows PowerShell)来自动刷新数据和数据透视表,而无需触摸文件.
“打开时刷新”和其他Excel选项不可行,因为刷新所有连接最多需要20分钟.
我也不想刷新所有工作表,因为该文件具有图表的自定义颜色,“刷新”将其重置为Excel默认值,这是不可能的.
这些文件包含一个数据表,数据来自sql Server视图,通过外部连接(ODC文件).
它们还有一个透视表,在刷新数据表后也需要刷新.
我试图找到一个解决方案( Windows PowerShell)来自动刷新数据和数据透视表,而无需触摸文件.
“打开时刷新”和其他Excel选项不可行,因为刷新所有连接最多需要20分钟.
我也不想刷新所有工作表,因为该文件具有图表的自定义颜色,“刷新”将其重置为Excel默认值,这是不可能的.
我试过这个,但它似乎不适用于ODC连接?至少,它没有做任何事情:
Windows PowerShell:
$ExcelApp = new-object -ComObject Excel.Application $ExcelApp.Visible = $false $ExcelApp.DisplayAlerts = $false $Workbook = $ExcelApp.Workbooks.Open("c:\test\ref_test.xlsx",3,$false,5,$null,$true) Start-Sleep -s 30 $Workbook.RefreshAll() $Workbook|Get-Member *Save* $Workbook.Save() $ExcelApp.Quit()
有任何想法吗?
Office版本:2010,在Windows 7上
解决方法
可能
this question的答案可能会有所帮助. perl脚本也可用作预编译的exe文件.