Foxtable(狐表)用户栏目专家坐堂 → 老师帮忙看看这个判断和循环是不是有问题?


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

主题:老师帮忙看看这个判断和循环是不是有问题?

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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10562 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2016/11/29 15:37:00 [只看该作者]

如何处理首个单元格为空的情况下又可以保证输出准确

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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10562 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2016/11/29 15:58:00 [只看该作者]

老师?帮忙看一下

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/11/29 16:33:00 [只看该作者]

 你的excel里面只有一个表,我测试的结果是36、6,结果没错的啊。

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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10562 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2016/11/29 17:05:00 [只看该作者]

SORRY,我重新上传了例子
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目38.rar



 回到顶部
帅哥,在线噢!
有点蓝
  25楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107035 积分:544406 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/29 17:21:00 [只看该作者]

Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(ProjectPath & "EXCEL测试文件\" & "test20.xls")
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
Dim rowsmax As Integer = 0
Dim colmax As Integer = 0
Dim rg = Ws.UsedRange


'Dim FirstRow As Integer = Ws.Range("A1:d1").End(MSExcel.XlDirection.xlDown).Row
'msgbox(firstrow)

For i As Integer =1 To rg.Columns.count
    
    Dim r = ws.cells(1000,i).End(MsExcel.XlDirection.xlUp).Row
    If r > RowsMax Then
        RowsMax = r
    End If
Next

For i As Integer = 1 To rowsMax
    
    Dim r = ws.cells(i,200).End(MsExcel.XLDirection.xlToLeft).Column
    If r > ColMax  Then
        ColMax = r
    End If
Next
rg =  Ws.Range(Ws.Cells(1,1), Ws.Cells(RowsMax,ColMax ))
Dim ary = rg.value
'msgbox(rg.Rows.count)
'msgbox("读取列:" & rg.Columns.count & "," & "实际列:" & ColMax & "," & "实际行:" & RowsMax )
For i As Integer = 1 To rowsmax
    For j As Integer = 1 To Colmax
        If ary(i,j) <> Nothing Then
            Dim dr As DataRow = DataTables("表A").AddNew
            dr("第一列") = ary(i, j)
        End If
        
    Next
    
Next

App.quit

'msgbox(colsmax)
'msgbox(RowsMax)

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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10562 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2016/11/30 16:17:00 [只看该作者]

问题解决了,老师能解释一下加的这一行的意义吗?
rg =  Ws.Range(Ws.Cells(1,1), Ws.Cells(RowsMax,ColMax ))

 回到顶部
帅哥,在线噢!
有点蓝
  27楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107035 积分:544406 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/30 16:23:00 [只看该作者]

设置实际的数据范围

如果第一列和第一行都为空Ws.UsedRange是不包含第一列和第一行的

 回到顶部
总数 27 上一页 1 2 3