excel - 有时从 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
解决方案
推荐阅读
- spring - Spring Security:为什么要检查授权过滤器中是否设置了身份验证令牌?
- elasticsearch - 返回多项不同值
- ajax - 将 Model.ID 传递给 modal 并运行方法
- python - 将表格中的图像动态渲染到 html 页面上的不同位置
- arrays - 我想在 SWIFTUI 的特定位置开始解析 json 文件
- php - Cypher Query (Neo4J):如何在 PHP 中访问集合?
- flutter - 灵活地在水平模式下占据整个空间
- c# - 使用 EF context.Database.EnsureCreated 创建 SQLite 虚拟表?
- mongodb - 如何根据另一个字段的值生成具有排名值的字段(Mongoose 和 MongoDB)
- python-3.x - 类之间的Python Qt继承-AttributeError:类型对象'Ui_QMainWindow'没有属性