首页 > 解决方案 > 有时从 Excel 中读取提示而不是字符串

问题描述

我现在遇到的问题是,我从 excel 文档中获得的第一行数据有时会作为提示而不是正确的数据类型(只有一些单元格)返回。我已经尝试重新制作电子表格并在 excel 端重做所有格式,所以我只能假设它与 oledb 类有关?任何信息或朝着正确方向的推动将不胜感激。

Imports Microsoft.Office.Interop


Public Class Form1
    Dim ExTable1 As New DataTable
    Dim ExTable2 As New DataTable

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        OpenFileDialog1.ShowDialog()
        ExTable1 = ConnectToFile(OpenFileDialog1.FileName)
        Table1.DataSource = ExTable1
    End Sub

    Function ConnectToFile(path)
        Dim dt As DataTable = New DataTable
        Dim selStr As String = "SELECT * FROM [{0}]"
        Dim dtSchema
        Dim drSchema
        Dim con As OleDb.OleDbConnection = New OleDb.OleDbConnection

        con.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & path & ";Extended Properties=Excel 12.0 Xml;"

        con.Open()
        dtSchema = con.GetOleDbSchemaTable(OleDb.OleDbSchemaGuid.Tables, New Object() {Nothing, Nothing, Nothing, "TABLE"})

        drSchema = dtSchema.Rows(0)
        Dim Sheet1 = drSchema("TABLE_NAME")
        Dim cmd As OleDb.OleDbCommand = New OleDb.OleDbCommand(String.Format(selStr, Sheet1))

        cmd.Connection = con
        Dim da As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter
        da.SelectCommand = cmd

        da.Fill(dt)
        Table1.DataSource = dt
        con.Close()
        con.Dispose()
        Return dt
    End Function
End Class

标签: excelvb.netoledb

解决方案


推荐阅读