Я использую следующий код для чтения данных Excel в таблицу данных, однако имя столбца POBOX в таблице данных изменилось на P # O # BOX. Может ли кто-нибудь пролить свет на то, почему это происходит?
Dim FileName As String = "C:\abc.xls"
Dim conn As Data.OleDb.OleDbConnection = Nothing
Dim dt As New DataTable
Try
Try
Try
conn = New Data.OleDb.OleDbConnection(String.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=Excel 8.0;", FileName))
conn.Open()
Catch exOleDB As System.Data.OleDb.OleDbException
If exOleDB.ErrorCode <> -2147467259 Then Throw exOleDB
'try to open an Excel 2007 file
conn = New Data.OleDb.OleDbConnection(String.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=Excel 12.0;", FileName))
conn.Open()
End Try
Catch ex As Exception
Throw New Exception("Can't read the import file. Try saving the file as an Excel 97-2003 Workbook (.xls). Also check the file permissions and impersonation settings.", ex)
End Try
Using selectedCMD As New Data.OleDb.OleDbCommand("select * from [Users$]", conn)
Using da As New Data.OleDb.OleDbDataAdapter
da.SelectCommand = selectedCMD
da.Fill(dt)
End Using
End Using
Finally
If conn IsNot Nothing Then
If conn.State <> ConnectionState.Closed Then conn.Close()
conn.Dispose()
End If
End Try
Return dt