TDa*_*Dai 3 sql excel vba ssis etl
最近,我有一个项目需要通过将SSIS包和excel VBA宏组合成一个来自动化流程.以下是步骤:
我有一个SSIS包将所有视图结果导出到从sql server到excel的多个单独文件.所有文件都保存在同一位置.
我有一个excel VBA宏执行清理删除每个导出的Excel文件中的所有空表.
我还有一个excel VBA宏执行合并任务,将所有excel文件合并到主excel文件中.此主Excel文件包含所有结果集,并且相应地保存在不同选项卡上的每个结果集.
由于我手动运行第2步和第3步,所以我的问题是如何将步骤2和步骤3与步骤1连接起来将它们组合为一个自动化过程.
请告诉我有关实现这一目标的可能性!非常感谢.
执行此操作的方法是在SSIS包中创建脚本任务.
然后,一旦进入脚本任务,就可以通过脚本任务的C#代码调用Excel互操作.例如,您可以添加对Microsoft.Office.Interop的引用.在脚本任务的C#代码中使用该库后,可以添加一些将调用宏的代码.例如
oExcel = CreateObject("Excel.Application")
oExcel.Visible = False
oBooks = oExcel.Workbooks
oBook = oBooks.Open(Dts.Variables("filePath").Value.ToString())
//Your macro here:
oExcel.Run("Yourmacro")
Run Code Online (Sandbox Code Playgroud)
然后,您可以为其他工作簿编写代码,无论您在此之后需要什么样的自动化 - 例如,您可以根据需要通过Excel自动化关闭工作簿并打开另一个工作簿.
归档时间: |
|
查看次数: |
16437 次 |
最近记录: |