Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.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
datagridview vb.net 2010中从excel导入错误_Vb.net_Visual Studio 2010_.net 4.0_Vb.net 2010 - Fatal编程技术网

datagridview vb.net 2010中从excel导入错误

datagridview vb.net 2010中从excel导入错误,vb.net,visual-studio-2010,.net-4.0,vb.net-2010,Vb.net,Visual Studio 2010,.net 4.0,Vb.net 2010,我正在datagridview中导入excel文件,下面是我的代码 'ofdImport.Filter = "Excel Files (*.xls)|*.xls" ofdImport.FileName = "" If ofdImport.ShowDialog(Me) = Windows.Forms.DialogResult.Cancel Then Exit Sub End If txtPath.Text = ofdImport.FileName If txtPath.Text <

我正在datagridview中导入excel文件,下面是我的代码

'ofdImport.Filter = "Excel Files (*.xls)|*.xls"

ofdImport.FileName = ""
If ofdImport.ShowDialog(Me) = Windows.Forms.DialogResult.Cancel Then
    Exit Sub
End If

txtPath.Text = ofdImport.FileName
If txtPath.Text <> "" Then
    chkItemList.Visible = True
    dgvImportData.Visible = True
    pnlDataMsg.Visible = False
    dgvImportData.Columns.Clear()
    chkItemList.Items.Clear()
    Try
        Dim conExcel As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" & txtPath.Text & " '; Extended Properties=Excel 8.0;")
        Dim excelSelect As New OleDbCommand
        Dim excelAdp As New OleDbDataAdapter
        Dim excelSchemaDt As DataTable
        Dim dset As New DataSet

        If conExcel.State Then conExcel.Close()
        conExcel.Open()
        excelSelect.Connection = conExcel
        excelSchemaDt = conExcel.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, Nothing)
        Dim sheetName As String = excelSchemaDt.Rows(0)("TABLE_NAME").ToString()

        excelSelect.CommandText = "select * from [" & sheetName & "] "
        excelAdp.SelectCommand = excelSelect
        excelAdp.TableMappings.Add("Table", "TestTable")
        excelAdp.Fill(dset)
        dgvImportData.DataSource = dset.Tables(0)
        Dim i As Integer
        Dim q(dgvImportData.Columns.Count()) As String
        For i = 0 To (dgvImportData.Columns.Count - 1)
            q(i) = (dgvImportData.Columns(i).HeaderText.ToString())
        Next i
        conExcel.Close()

        i = 0
        Dim a As String = ""
        'Dim q(frmImportWizard.gridImport.Columns.Count()) As String
        For i = 0 To dgvImportData.Columns.Count - 1
            a = dgvImportData.Columns(i).HeaderText.ToString()
            'CheckedListBox1.Items.Add(a)
            chkItemList.Items.Add(a)
        Next i
        chkAll.Visible = True
        chkAll.Checked = False
        lblColumnData.Visible = True
    Catch ex As Exception
        'MsgBox(ex.Message, MsgBoxStyle.Information)
    End Try
End If
ofdImport.Filter=“Excel文件(*.xls)|*.xls” ofdImport.FileName=“” 如果ofdImport.ShowDialog(Me)=Windows.Forms.DialogResult.Cancel,则 出口接头 如果结束 txtPath.Text=ofdImport.FileName 如果为txtPath.Text“”,则 chkItemList.Visible=True dgvImportData.Visible=True pnlDataMsg.Visible=False dgvImportData.Columns.Clear() chkItemList.Items.Clear() 尝试 Dim conExcel作为新的OleDbConnection(“Provider=Microsoft.Jet.OLEDB.4.0;数据源=”&txtPath.Text&“;扩展属性=Excel 8.0;”) Dim Excels选择为新的OLEDB命令 Dim excelAdp作为新的OLEDB数据适配器 Dim excelSchemaDt作为数据表 将数据集设置为新数据集 如果为conExcel.State,则为conExcel.Close() conExcel.Open() excelSelect.Connection=conExcel excelSchemaDt=conExcel.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,无) Dim sheetName As String=excelSchemaDt.Rows(0)(“表名称”).ToString() excelSelect.CommandText=“从[”&sheetName&“]中选择* excelapp.SelectCommand=excelSelect TableMappings.Add(“Table”、“TestTable”) excelapp.Fill(数据集) dgvImportData.DataSource=dset.Tables(0) 作为整数的Dim i Dim q(dgvImportData.Columns.Count())作为字符串 对于i=0到(dgvImportData.Columns.Count-1) q(i)=(dgvImportData.Columns(i).HeaderText.ToString()) 接下来我 conExcel.Close() i=0 将a变暗为字符串=“” 'Dim q(frmImportWizard.gridImport.Columns.Count())作为字符串 对于i=0到dgvImportData.Columns.Count-1 a=dgvImportData.Columns(i).HeaderText.ToString() 'CheckedListBox1.Items.Add(a) chkItemList.Items.Add(a) 接下来我 chkAll.Visible=True chkAll.Checked=False lblColumnData.Visible=True 特例 'MsgBox(例如Message、MsgBoxStyle.Information) 结束尝试 如果结束 excel文件在一列中包含例如“9874532146/8456663225”的电话号码,在同一列中也包含“98455566966” 这里的问题是我的代码没有读取电话号码 没有“/”它在网格中变为空白 请帮忙

replaced connection string

Dim conExcel As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source='" & txtPath.Text & "';Extended Properties=""Excel 8.0;HDR=YES;IMEX=1""")