Import data from Excel using SSIS without knowing sheet name

后端 未结 6 1629
情话喂你
情话喂你 2021-01-04 22:39

I have a spreadsheet that is updated by another server (out of my control) and I need to automate bringing that data into SQL 2005. The data is always the first page of the

6条回答
  •  别那么骄傲
    2021-01-04 23:04

    I had a similar problem. The solution that I implemented was first read the excel file using OleDB connection. Open the connection and then retrieve all the sheet names. Here is an example

    Dim strConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\ABC.xls;Extended Properties=""EXCEL 8.0;"""
    
    Dim lstSheetName As List(Of String) = Nothing
    Try
     objConn = New OleDbConnection(Me.ConnectionString)
     objConn.Open()
     lstSheetName = New List(Of String)
     Using dtSheetTable As DataTable =       objConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,Nothing)
    
      For Each drRow As DataRow In dtSheetTable.Rows
         lstSheetName.Add("[" & drRow("TABLE_NAME").ToString().Replace("'", "''") & "]")
      Next
     End Using
    Catch ex as Exception
     Throw
    Finally
     If objConn.State = ConnectionState.Open Then objConn.Close()
     objConn.Dispose()
    End Try
    

    This all code is written ASPX.VB and then I am executing the SSIS package through code behind and passing the first value in the lstSheetName variable (lstSheetName(0).ToString())

    This was

提交回复
热议问题