SSIS脚本任务从Excel工作表中删除行

我有一个创build和填充Excel工作表的SSIS包,它从模板文件创build工作表。

我遇到的一个问题是,excel会改变行的格式。 我做了一个插入标题行并隐藏它的工作。

不过,我现在需要在SSIS中编写一个VB任务,用于打开Excel工作表并删除特定的行。

我看过一些在线的文章,但是一直没能find任何代码,我可以尝试和复制,我的VB知识是非常有限的,我真的很挣扎。 到目前为止,我已经想出了如何删除该行。

Sub DeleteRow1() Rows(4).Delete End Sub 

不过,我需要分配文件string,并获取文件打开和closures以及…

 Sub deleteRow1() Dim wkbk As Workbook 'You can also use an input box like this ' Dim wkbkname As Variant ' wkbkname = InputBox("Enter Workbook Name here.") ' Use wkbkname instead of wkbk then Set wkbk = "Filename" wkbk.Sheets(1).Rows(4).delete End Sub 

我希望这就是你要找的。

经过与程序员的一些讨论后,我设法得到了一些脚本来完成我所需要的。 作为SSIS中需要这样做的任何人的答案发布。

 Dim xlApp As Excel.Application Dim xlSheet As Excel.Worksheet xlApp = New Excel.Application xlApp.Workbooks.Open(Dts.Variables("NewFileName").Value.ToString) xlSheet = xlApp.Workbooks(1).ActiveSheet xlSheet.Rows(4).Delete() xlApp.Workbooks(1).Save() xlApp.Workbooks(1).Close() xlSheet = Nothing ' Dts.TaskResult = ScriptResults.Success 

在SSIS中使用一个variables来获取文件名。 这完美,虽然你需要添加Microsoft.Office.Interop.Excel参考。