Foxtable(狐表)用户栏目专家坐堂 → IF的执行效率问题


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

主题:IF的执行效率问题

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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/8/26 11:50:00 [显示全部帖子]

只能这样


For k As Integer = 1 To wb.workSheets.Count '//多个sheet的处理
    Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(k)
    Dim Rg As MSExcel.Range = Ws.UsedRange
    Dim ary = rg.value
    If ary IsNot Nothing Then  '2016-8-22 判断EXCEL不能为空
        lbl8.text = "行:" & rg.Rows.Count & "," & "列:" & rg.Columns.Count
        For i As Integer = 1 To rg.Rows.Count
            For j As Integer = 1 To rg.Columns.Count
                If ary(i,j) <> Nothing Then
                    If Cbox1.Checked  Then
                        If System.Text.RegularExpressions.Regex.Match((ary(i,j)),"[\u4e00-\u9fa5]+").Tostring()>"" Then
                            If Cbox2.Checked
                                Dim dr As DataRow = DataTables("翻译内容").AddNew
                                dr("第一列") = ary(i,j)
                            ElseIf  rg.Columns(j).width <> 0 AndAlso rg.Rows(i).height <> 0 Then
                                Dim dr As DataRow = DataTables("表A").AddNew
                                dr("第一列") = ary(i,j)
                            End If
                        End If
                    Else
                        If CBox2.Checked Then
                            Dim dr As DataRow = DataTables("表A").AddNew
                            dr("第一列") = ary(i,j)
                        ElseIf  rg.Columns(j).width <> 0 AndAlso rg.Rows(i).height <> 0 Then
                            Dim dr As DataRow = DataTables("表A").AddNew
                            dr("第一列") = ary(i,j)
                        End If
                    End If
                    lbl5.text = ary(i,j)
                End If
            Next
        Next
    End If
Next
Wb.Close()

 回到顶部