【发布时间】:2014-02-02 08:27:40
【问题描述】:
我想获取单元格中显示的数据(例如 AA2 00:43.6),而不是上面写的值 12:00:44 AM。
我如何在没有任何 API 等的情况下做到这一点?
从我的 excel 2010 示例中查看此图像以获取更多信息:
这是我导入excel文件的代码
MyConnection = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source='" & _
path & "';Extended Properties=""Excel 12.0;HDR=Yes;IMEX=1"";")
'i also tried IMEX=0
dtTimes = New DataTable
Dim sqlstrTimes As String = "SELECT [RACETIME] " & "FROM [SheetH$];"
'SheetF$
Try
Dim MyCommandHistory As New OleDb.OleDbDataAdapter(sqlstrTimes , MyConnection)
MyCommandHistory.Fill(dtTimes )
Catch ex As Exception
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK
, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1)
Finally
MyConnection.Close()
End Try
我在connectionstrings.com 的网站上查看了excel-2010,但没有运气。
【问题讨论】:
-
您是否尝试将
sqlstrTimes声明为日期?看起来像类型转换问题。 -
我知道在单元格中该值显示为
MM:SS.ms,意思是分钟:秒.毫秒,如00:43.6。单元格的实际值是像12:00:44 am这样的时间。您想知道如何在 SQL 中将 excel 值存储为MM:SS.ms而不是时间值。我的理解正确吗? -
我想检索显示的值。这是 00.43.6。
标签: .net vb.net excel connection-string