欢迎来到老马的领地~ 这是“压风式散热底座”发明者的个人网站:) 本人QQ:80524554,用户群1:562279766
不需要引用EXCEL,因为是后期绑定.当然会有性能损失,但是一般来说影响不大....
读出的内容放在了tmpVal()数组中,最小下标为1.
Public Function ReadExcel(ByVal sFileName As String) As Boolean
'读EXCEL表格内容
'
'sFileName - EXCEL文件名,全路径.
'成功返回TRUE,失败返回FALSE
'
Dim oXLSAPP As Object 'New Excel.Application
Dim oWSheet As Object 'Worksheet
Dim oRange As Object 'Range
Dim tmpVal() As Variant, I As Long, J As Long
On Error GoTo errH
Set oXLSAPP = CreateObject("Excel.Application")
DoEvents
oXLSAPP.Workbooks.Open sFileName '打开EXCEL文件
oXLSAPP.Workbooks(1).Activate
Set oWSheet = oXLSAPP.Workbooks(1).Worksheets(1)
oWSheet.Activate
Set oRange = oWSheet.UsedRange '指定已使用的区域
' With oRange
' mColCount = .Columns.Count '获得列数
' mRowCount = .Rows.Count '获得行数
' ReDim sRange(mRowCount - 1, mColCount - 1)
'
' For I = 0 To mRowCount - 1 '循环方式获得内容
' For J = 0 To mColCount - 1
' sRange(I, J) = .Item(I + 1, J + 1)
' Next
' Next
' End With
tmpVal = oRange '直接用数组获得内容
For I = 1 To UBound(tmpVal, 1)
For J = 1 To UBound(tmpVal, 2)
Debug.Print tmpVal(I, J),
Next
Debug.Print
If I = 3 Then Exit For '只显示前三行
Next
ReadExcel = True
errH:
Set oRange = Nothing
Set oWSheet = Nothing
oXLSAPP.Workbooks.Close
oXLSAPP.Quit
Set oXLSAPP = Nothing
End Function
读出的内容放在了tmpVal()数组中,最小下标为1.
Public Function ReadExcel(ByVal sFileName As String) As Boolean
'读EXCEL表格内容
'
'sFileName - EXCEL文件名,全路径.
'成功返回TRUE,失败返回FALSE
'
Dim oXLSAPP As Object 'New Excel.Application
Dim oWSheet As Object 'Worksheet
Dim oRange As Object 'Range
Dim tmpVal() As Variant, I As Long, J As Long
On Error GoTo errH
Set oXLSAPP = CreateObject("Excel.Application")
DoEvents
oXLSAPP.Workbooks.Open sFileName '打开EXCEL文件
oXLSAPP.Workbooks(1).Activate
Set oWSheet = oXLSAPP.Workbooks(1).Worksheets(1)
oWSheet.Activate
Set oRange = oWSheet.UsedRange '指定已使用的区域
' With oRange
' mColCount = .Columns.Count '获得列数
' mRowCount = .Rows.Count '获得行数
' ReDim sRange(mRowCount - 1, mColCount - 1)
'
' For I = 0 To mRowCount - 1 '循环方式获得内容
' For J = 0 To mColCount - 1
' sRange(I, J) = .Item(I + 1, J + 1)
' Next
' Next
' End With
tmpVal = oRange '直接用数组获得内容
For I = 1 To UBound(tmpVal, 1)
For J = 1 To UBound(tmpVal, 2)
Debug.Print tmpVal(I, J),
Next
Debug.Print
If I = 3 Then Exit For '只显示前三行
Next
ReadExcel = True
errH:
Set oRange = Nothing
Set oWSheet = Nothing
oXLSAPP.Workbooks.Close
oXLSAPP.Quit
Set oXLSAPP = Nothing
End Function
添加评论
GB2312 https://www.m5home.com/blog/trackback.php?id=8&encode=gb2312
UTF-8 https://www.m5home.com/blog/trackback.php?id=8&encode=utf-8