Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 为什么我的代码将第二行作为标题而不是第一行_Excel_Vb.net - Fatal编程技术网

Excel 为什么我的代码将第二行作为标题而不是第一行

Excel 为什么我的代码将第二行作为标题而不是第一行,excel,vb.net,Excel,Vb.net,我的代码将第二行记录作为标题处理,而我希望它将第一行记录作为侦听器(代码跳过第一行) 注意:am在列中循环 Dim path As String = txtPath.Text Dim excel_connection As OleDbConnection Dim dt As DataTable Dim cmd As OleDbDataAdapter 'Dim sql As String 'Dim result As Boolean Dim emp_type_id As String = "" D

我的代码将第二行记录作为标题处理,而我希望它将第一行记录作为侦听器(代码跳过第一行)

注意:am在列中循环

Dim path As String = txtPath.Text
Dim excel_connection As OleDbConnection
Dim dt As DataTable
Dim cmd As OleDbDataAdapter
'Dim sql As String
'Dim result As Boolean
Dim emp_type_id As String = ""
Dim branch_id As String = ""
Dim bank_id As String = ""
excel_connection = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=Excel 12.0 Xml;")
cmd = New OleDbDataAdapter("SELECT * FROM [sheet$]", excel_connection)
dt = New DataTable
cmd.Fill(dt)
For Each column As DataColumn In dt.Columns
    Dim columnName As String = dt.Rows(0)(column.ColumnName).ToString()
    If columnName = "" Then
    Else
        MsgBox(columnName)
    End If
Next
我已经编写了代码,在excel工作表中循环以获取工作表的标题。它工作正常,但没有获取第一行记录,而是跳过并获取第二行记录 注意:am在列中循环

Dim path As String = txtPath.Text
Dim excel_connection As OleDbConnection
Dim dt As DataTable
Dim cmd As OleDbDataAdapter
'Dim sql As String
'Dim result As Boolean
Dim emp_type_id As String = ""
Dim branch_id As String = ""
Dim bank_id As String = ""
excel_connection = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=Excel 12.0 Xml;")
cmd = New OleDbDataAdapter("SELECT * FROM [sheet$]", excel_connection)
dt = New DataTable
cmd.Fill(dt)
For Each column As DataColumn In dt.Columns
    Dim columnName As String = dt.Rows(0)(column.ColumnName).ToString()
    If columnName = "" Then
    Else
        MsgBox(columnName)
    End If
Next
我想让它在第一排循环
注意:am在列中循环

尝试将HDR=No添加到OleDbConnection扩展属性中。如下图所示:

Dim path As String = txtPath.Text
Dim excel_connection As OleDbConnection
Dim dt As DataTable
Dim cmd As OleDbDataAdapter
'Dim sql As String
'Dim result As Boolean
Dim emp_type_id As String = ""
Dim branch_id As String = ""
Dim bank_id As String = ""
excel_connection = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=Excel 12.0 Xml;")
cmd = New OleDbDataAdapter("SELECT * FROM [sheet$]", excel_connection)
dt = New DataTable
cmd.Fill(dt)
For Each column As DataColumn In dt.Columns
    Dim columnName As String = dt.Rows(0)(column.ColumnName).ToString()
    If columnName = "" Then
    Else
        MsgBox(columnName)
    End If
Next
excel_connection = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties='Excel 12.0 Xml;HDR=No;IMEX=1;';")

我试图按照建议添加“HDR=No”。现在给我这个错误“找不到可安装的ISAM”你可以用编辑的excel\u连接再试一次没有问题。请别忘了按回答打勾。