【发布时间】:2015-02-06 16:47:53
【问题描述】:
我目前正在尝试从数千个 Excel 文件中提取某些数据。但是这个问题把我逼疯了,我在时间紧迫的情况下要在很短的截止日期前完成所有这些工作。
问题在于它似乎没有检索所有数据,尤其是我所说的这些“选项”列。对于这个特定的工作表,它应该一直有 -01 到 -10。这些是整张纸上唯一有时不会读入的值。它们有时会以 45 度角倾斜,但如果我在读入文件之前手动更改它们的方向似乎并没有什么不同。
这就是它正在做的事情:
这是有问题的 excel 文件(不确定该链接是否有效):
https://drive.google.com/file/d/0B7-iwpcLS0GoaVpHYkxPTWdIYUE/view?usp=sharing
如果该 Google 电子表格失败,请直接下载链接:
http://www.filedropper.com/123456_1
这是我从应用程序中提取的基本代码:
Dim xlAppIn As New Excel.Application
Dim xlWorkbookIn As Excel.Workbook = xlAppIn.Workbooks.Open(sFilename)
xlAppIn.Visible = False
Dim oleDbConnStr As String = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & sFilename & ";Extended Properties='Excel 12.0; HDR=No; IMEX=1'"
Dim oleDbConn As OleDbConnection = New OleDbConnection(oleDbConnStr)
oleDbConn.Open()
Dim sSheetName As String = xlWorkbookIn.Sheets(1).Name.ToString()
txtStatus.Text = sSheetName
'Dim oleDbCmd As New OleDbCommand("SELECT * FROM [" & sSheetName & "$B5:AI46]", oleDbConn)
Dim oleDbCmd As New OleDbCommand("SELECT * FROM [" & sSheetName & "$]", oleDbConn)
Dim oleDbDa As New OleDbDataAdapter(oleDbCmd)
Dim dt As New DataTable
oleDbDa.Fill(dt)
dgvRaw.DataSource = dt
我在这里做错了什么?
【问题讨论】:
-
我猜可能是我的连接字符串?或者文件类型太旧了?它可能是一个旧的excel文件,用谁知道什么版本等制作的。我不知所措。
-
对我来说看起来是正确的。注意:原始 Excel 工作表的第 26 行高度为零......但它就在那里。
-
我添加了一个下载链接:filedropper.com/123456_1 以防万一这是某种奇怪的 excel 版本问题,你们也可以加载它,看看它是否适合你。跨度>