我想使用SSIS中的脚本任务将具有不同工作表名称的多个excel文件导入到一个SQL表中。
请帮帮我。 我非常感谢你。
答案 0 :(得分:1)
以下是我在脚本任务中获取的一些示例VB代码,用于获取工作表名称并将其存储在Variable of Data类型对象中。然后使用For Each Variable Enumerator迭代User :: ExcelSchema。
Public Sub Main()
Dim excelFilePath As String = Dts.Variables("User::SourceDataPathAndFile").Value.ToString()
Dim strCn As String = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" + excelFilePath + ";Extended Properties=Excel 12.0"
Dim dtTables As DataTable
Dim aTableNames As ArrayList = New ArrayList()
Dim tableName As String
Dim cn As OleDbConnection = New OleDbConnection(strCn)
cn.Open()
dtTables = cn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, Nothing)
For Each row As DataRow In dtTables.Rows
tableName = row("TABLE_NAME").ToString()
aTableNames.Add(tableName)
End If
Next
cn.Close()
Dts.Variables("User::ExcelSchema").Value = aTableNames
Dts.TaskResult = ScriptResults.Success
End Sub