【问题标题】:Refresh Excel using SSIS script task使用 SSIS 脚本任务刷新 Excel
【发布时间】:2012-04-05 11:22:06
【问题描述】:

我有一个从数据库表中获取外部数据的 Excel 文件。我需要自动刷新文件并通过电子邮件发送。我打算使用 SSIS 脚本任务来运行一些 VB 脚本来打开文件、刷新数据、保存和关闭(显然不会启动应用程序)。然后我将使用电子邮件任务通过电子邮件发送文件。我所需要的只是刷新文件的脚本,并且在 VB 或 C# 中完全是菜鸟 我会很感激任何提示! 多谢, 弗拉德

【问题讨论】:

  • 所以你只需要 vb 脚本来打开 xls 文件,刷新它并关闭它以用于电子邮件目的?
  • 仅供参考,Microsoft 目前建议您不要在服务器环境中自动化 Office 应用程序:support.microsoft.com/kb/257757 您可以从头开始创建文件然后通过电子邮件发送吗? stackoverflow.com/questions/151005/…
  • 为什么还要麻烦 SSIS?您可以在打开文件时刷新数据的 Excel 文件中添加一个启动宏。只需将文件分发给您的观众,每次他们打开它时,宏都会自动刷新数据……假设他们可以访问网络。
  • Pondlife,感谢您的评论。当它只是一堆数据时,我实际上是从头开始创建文件的,但现在客户想要使用过滤器、数据透视和颜色编码格式化 excel。现在我的文件在一张工作表上有带有过滤器的原始数据,在另外两张工作表上有 2 个枢轴。通过将 3 张表格分别链接到数据库表,我可以轻松刷新所有数据并保留格式。此时我需要做的就是让脚本执行我现在手动执行的操作,即点击“全部刷新”按钮并保存文件。
  • iPolvo,不,客户端在我们的网络之外,无法自行刷新文件。不过谢谢你的建议!

标签: excel vbscript ssis refresh


【解决方案1】:

希望这就是你要找的东西

 ' 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

【讨论】:

  • @user1281185 :如果这是您需要的,那么您可以通过单击左侧的复选标记来接受这个答案
【解决方案2】:

旧帖子,但 4M01 的回答帮助了我很多。

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

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

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

【讨论】:

    【解决方案3】:

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

    执行流程任务

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

    【讨论】:

      【解决方案4】:

      就我而言(连接到 MS SQL DB),我必须取消选中“启用后台刷新”选项才能正常工作。

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

      【讨论】:

        猜你喜欢
        • 2019-05-31
        • 1970-01-01
        • 2020-10-15
        • 2012-11-17
        • 2019-05-19
        • 1970-01-01
        • 2015-05-03
        • 1970-01-01
        • 2021-07-27
        相关资源
        最近更新 更多