使用SSIS脚本任务刷新Excel



我有一个Excel文件,它从数据库表中获取外部数据。我需要自动刷新文件并通过电子邮件发送。我打算使用SSIS脚本任务来运行一些VB脚本,这些脚本将打开文件、刷新数据、保存和关闭(显然不会打开应用程序)。然后我将使用电子邮件任务通过电子邮件发送文件。我所需要的只是刷新文件的脚本,在VB或C#中完全没有。我必须问是否有人有这样的脚本,我可以为我的文件自定义并在脚本任务中使用。如果有任何提示,我将不胜感激!非常感谢,Vlad

希望这就是您想要的

 ' Create an Excel instance
   Dim oExcel
   Set oExcel = CreateObject("Excel.Application") 
 ' Disable Excel UI elements
   oExcel.Visible = True
   oExcel.DisplayAlerts = False
   oExcel.AskToUpdateLinks = False
   oExcel.AlertBeforeOverwriting = False
   Set oWorkbook = oExcel.Workbooks.Open("absolute path to your file")
   oWorkbook.RefreshAll
   oWorkbook.Save
   oExcel.Quit
   Set oWorkbook = Nothing
   Set oExcel = Nothing

在我的情况下(连接到MS SQL DB),我必须取消选中"启用后台刷新"选项才能正常工作。

Excel:数据>连接>属性>(取消选中)启用后台刷新

以前的帖子,但4M01的答案帮了我很多。

在我的情况下,我必须在打开工作簿后立即入睡,以确保文件正确加载。

oWorkbook = oExcel.Workbooks.Open("absolute path to your file")
Threading.Thread.Sleep(3000)
oWorkbook.RefreshAll

请注意,VS 2015中不再需要设置。因此,只需删除"set"即可使代码正常工作。

这可能不完全符合您的需求,但如果它对您或某人有帮助,我可以使用一个简单的

执行过程任务

使用

  • 可执行为/。。路径/Excel.exe和
  • 参数作为要打开的所需文件(完整路径)

最新更新