Foxtable(狐表)用户栏目专家坐堂 → excel数据读取效率请教


  共有3003人关注过本帖树形打印复制链接

主题:excel数据读取效率请教

帅哥哟,离线,有人找我吗?
hbhb
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5061 积分:13092 威望:0 精华:0 注册:2014/5/15 21:34:00
excel数据读取效率请教  发帖心情 Post By:2014/7/18 16:54:00 [只看该作者]

Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(a.Value)
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(b.Value)

For n1 As Integer = 1 To 2500
    Dim r As Row = Tables("订单表").AddNew()
    
    For m As Integer = 1 To 10
        If IsNumeric(ws.cells(n1,m).value)  Then
            r(m+4) =val( ws.cells(n1,m).value)
        End If
        r(m + 4) = trim(ws.cells(n1,m).value)
        r(m + 4) = r(m).replace(" ","")
    Next
Next

大师:以上这段代码读取2500多行数据要两分钟,请问如何改进提高效率?

 回到顶部
帅哥哟,离线,有人找我吗?
lsy
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/7/18 17:14:00 [只看该作者]

表还没保存嘞,再加上保存的时间,不知道是几个两分钟了。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/18 17:18:00 [只看该作者]

第一步:新增行,直接新增n行 Tables("订单表").AddNew(2500)

 

第二步:一次性赋值单元格内容转成数组

 

Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Add
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
Dim Rg As MSExcel.Range = Ws.Range("A1:B10")
ws.cells(1,1).value = "1"
ws.cells(1,2).value = "2"
Dim ary = rg.value
For i As Integer = 1 To 10
    For j As Integer = 1 To 2
        output.show(ary(i,j))
    Next
Next


 回到顶部