我的这部分代码如下,请指教,谢谢!Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Dim ColCount As Long, RowCount As Long
Dim ArrTemp1() As String
Set xlApp = New Excel.Application
Set xlBook = xlApp.Workbooks.Open("c:\Match.csv")
Set xlSheet = xlBook.Worksheets("sheet4")ColCount = xlSheet.UsedRange.Cells.Columns.Count '得到总列
RowCount = xlSheet.UsedRange.Cells.Rows.Count '得到总行ReDim ArrTemp1(RowCount - 1, ColCount)For i = 2 To RowCount
For j = 1 To ColCount
ArrTemp1(i - 1, j) = xlSheet.Cells(i, j) '将所有信息放到ArrTemp这个数据中
Next j
Next ixlBook.Close
xlApp.Quit
Set xlApp = Nothing
解决方案 »
- 散分了,编了几个小程序,庆祝下,呵呵!
- 请问如何使用EXCEL中的宏实现批处理
- 初学VB,帮忙解决一个数据库添加的问题。
- 问datagrid控件问题
- win98/2000自定义纸张大小问题,已经问过NN次啦,还没解决,高分求解
- 为何2000下VB中的DATA控件和ACCESS 2000 连接的时候会出问题??
- 如何屏蔽掉控件中的mousemove事件 急!!
- 请教:将程序中一函数分为一个bas模块,模块中调用主程序的全局变量时出错,该怎么调用?
- 数据存储在dat文件中,用什么打开这个dat文件?
- 2000分的问题!!!
- EXCEL 执行慢的问题
- 求救! 如何在Image中取DataGrid数据表格中图片记录的字段
重要耗时是在引用声明处,不知道为什么那么慢
所以不赞成使用Excel读取csv文件,其实楼主只要直接用读取文本格式的方法
逐行数据读出来,用split就可以加载到数组中了,速度极快
Private Sub cmdReadXLS_Click()
Set dgData.DataSource = Read_Excel(App.Path & "\" & "test.xls")
Set obj = Nothing
End SubPublic Function Read_Excel _
(ByVal sFile _
As String) As ADODB.Recordset On Error GoTo fix_err
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
Dim sconn As String rs.CursorLocation = adUseClient
rs.CursorType = adOpenKeyset
rs.LockType = adLockBatchOptimistic sconn = "DRIVER=Microsoft Excel Driver (*.xls);" & "DBQ=" & sFile
rs.Open "SELECT * FROM [sheet1$]", sconn
Set Read_Excel = rs
Set rs = Nothing
Exit Function
fix_err:
Debug.Print Err.Description + " " + _
Err.Source, vbCritical, "Import"
Err.Clear
End FunctionPublic Function Read_Text_File() As ADODB.Recordset Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
Dim conn As ADODB.Connection
Set conn = New ADODB.Connection
conn.Open "DRIVER={Microsoft Text Driver (*.txt; *.csv)};" & _
"DBQ=" & App.Path & ";", "", "" rs.Open "select * from [test#txt]", conn, adOpenStatic, _
adLockReadOnly, adCmdText
Set Read_Text_File = rs
Set rs = Nothing
Set conn = Nothing
End FunctionPrivate Sub cmdReadTXT_Click()
Set dgData.DataSource = obj.Read_Text_File
Set obj = Nothing
End Sub