VB.net OLEDB连接Excel文件
Public Function ExcTansposeAbf(ByVal strCollection As List(Of String), ByVal strTableInExcel As String) As Array
Dim brr(0 To 1, 0 To 1) As String
For intIndexInCollection As Integer = 0 To strCollection.Count - 1
If Strings.Right(strCollection(intIndexInCollection), 4) Like "*xls*" Then
Dim cnString As String = "provider=Microsoft.ACE.OLEDB.12.0;Data Source =" & strCollection(intIndexInCollection) & ";Extended Properties ='Excel 12.0;HDR = No;IMEX = 0';"
Dim cnDataset As New DataSet
Using cnCollection As New OleDbConnection(cnString)
Using cnAdapter As New OleDbDataAdapter("select * from [" & strTableInExcel & "$]", cnCollection)
Try
cnAdapter.Fill(cnDataset, strTableInExcel)
Catch ex As System.InvalidOperationException
brr(0, 0) = "Error_Oledb_InvalidOperationException"
Return brr
Catch ex As System.Data.OleDb.OleDbException
Continue For
Catch ex As System.Runtime.InteropServices.SEHException
brr(0, 0) = "Error_Oledb_InteropServices.SEHException"
Return brr
Finally
cnCollection.Dispose()
cnAdapter.Dispose()
End Try
End Using
End Using
Dim arr(0 To cnDataset.Tables(strTableInExcel).Rows.Count - 1, 0 To cnDataset.Tables(strTableInExcel).Columns.Count - 1) As String
Try
For i As Integer = 0 To cnDataset.Tables(strTableInExcel).Rows.Count - 1
For j As Integer = 0 To cnDataset.Tables(strTableInExcel).Columns.Count - 1
If Not IsDBNull(cnDataset.Tables(strTableInExcel).Rows(i).Item(j)) Then
arr(i, j) = cnDataset.Tables(strTableInExcel).Rows(i).Item(j)
End If
Next
Next
If Not arr(0, 18) Like "*中华人民共和国海关进口货物报关单*" Then arr(0, 0) = "Err_Arr_RangeS2Lost"
Return arr
Catch
brr(0, 0) = "Error_Oledb_DataSetToArray"
Return brr
Finally
cnDataset.Dispose()
End Try
End If
Next
brr(0, 0) = "Error_Oledb_CantFindExcel"
Return brr
End Function参数一是一个列表,参数二是Sheet名称。
函数的作用是在一堆Excel文件中找出正确的那个Excel文件,并转化为数组,供另外的函数使用,因为另一个函数的参数是数组,所以这里没用DataTable.
求大神改善一下这堆看着让人难受的代码,看着难受,执行的时候难等。

...全文
相关推荐
Microsoft.ACE.OLEDB.12.0
解决 未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序。的问题
vb.net连接数据库并查询数据
vb.net 数据库 查询 OLEDB,一个比较好的源代码,适合初学者
FG_List - Copy (2).rar_browngr1_excel_oledb
USE VB.NET TO OPERATE ON EXCEL
使用MDAC和Oledb使用MS Excel(xls / xlsx)
用于Windows和Web的创建/修改/删除Excel的简单演示
vb打开excel并在datagridview显示
vb打开excel并在datagridview显示


VB基础类
