datagridview vb.net 2010中从excel导入错误
我正在datagridview中导入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 <
'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""")