2017-08-30 90 views
0

我一直在從excel中提取值的程序中工作。 excel有客戶和地址的詳細信息。我能夠拉除除了一列之外的所有列(AddressLine2)。當我將這一列轉換到其他列時,它會被拉到數據表中。但是VB.Net在原始位置時不會將「AddressLine2」拉到數據表中。請提供您的反饋。提前致謝!將Excel列讀取到VB.Net中的數據表中

私人小組的button1_Click(BYVAL發件人爲System.Object的,BYVALË作爲System.EventArgs)把手Button1.Click 昏暗CN作爲System.Data.OleDb.OleDbConnection 昏暗CMD作爲System.Data.OleDb.OleDbDataAdapter CN = New System.Data.OleDb.OleDbConnection(「provider = Microsoft.Jet.OLEDB.4.0;」&「data source = C:\ Nata \ Excel \ Sample.xls; Extended Properties = Excel 8.0;」) 'Select the來自工作簿Sheet1的數據。 CMD =新System.Data.OleDb.OleDbDataAdapter( 「SELECT * FROM [表Sheet 1 $]」,CN) cn.Open() 昏暗dt的作爲新的DataTable cmd.Fill(DT) 如果dt.Rows.Count > 0然後 DatatoTextfile(DT) 結束如果
結束子

+0

您需要向我們展示您的代碼。有很多方法可以讀取Excel文件。 –

+0

另外,列中有多個不允許代碼拉取非零字段的0。當我全部刪除0時,代碼開始拉動非零字段。請澄清!。 –

+1

您需要編輯您的問題並將代碼添加到其中。該代碼不應該在評論中。 –

回答

0

而不是使用OLEDB對象我們可以簡單地用Excel引用的幫助讀取數據。首先,我們需要添加Excel對象參考16.0。然後添加一個數據網格視圖,以便您可以在數據網格視圖中查看您的數據表。

以下是您在FormLoad事件中的參考代碼。

Imports Microsoft.Office.Interop 

Public Class Form4 

    Private Sub Form4_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
     Dim excelApp As Excel.Application 
     Dim excelWbk As Excel.Workbook 
     Dim excelSht As Excel.Worksheet 
     Dim excelRows As Integer 
     Dim dt As DataTable 
     Dim dataRow As DataRow 

     excelApp = New Excel.Application 
     excelApp.Visible = True 
     excelWbk = excelApp.Workbooks.Open("C:\Nata\Excel\Sample.xlsx") 
     excelSht = excelWbk.Worksheets(1) 
     excelRows = excelSht.Range("A1").End(Excel.XlDirection.xlDown).Row 

     'INITIALIZE DATATABLE OBJECT 
     dt = New DataTable 

     'ADD COLUMNS TO DATATABLE 
     dt.Columns.Add("Name") 
     dt.Columns.Add("Address Line 1") 
     dt.Columns.Add("Address Line 2") 

     'ADDING DATAROWS AS PER EXCEL ROWS AND ADDING DATA TO DATATABLE CELL BY CELL. 
     For i = 1 To excelRows - 1 
      dataRow = dt.NewRow 
      For j = 0 To 2 
       dataRow(j) = excelSht.Cells(i + 1, j + 1).Value 
      Next 
      dt.Rows.Add(dataRow) 
     Next 

     'SETTING DATAGRIDVIEW SOURCE AS DATA TABLE. 
     DataGridView1.DataSource = dt 

     'CLOSING EXCEL WORKBOOK AND APPLICATION. 
     excelWbk.Close(SaveChanges:=False) 
     excelApp.Quit() 
    End Sub 
End Class 

希望這可以幫助你。

相關問題