Foxtable(狐表)用户栏目专家坐堂 → [求助]先判断每个单元格都有数据才合并导入


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

主题:[求助]先判断每个单元格都有数据才合并导入

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


加好友 发短信
等级:童狐 帖子:241 积分:2569 威望:0 精华:0 注册:2018/1/11 14:52:00
[求助]先判断每个单元格都有数据才合并导入  发帖心情 Post By:2020/11/11 20:35:00 [只看该作者]

在帮助文档中有数据合并导入的代码如下,如果我想先判断要导入的订单表(订单.xls)是不是每一列的每个单元格都有数据,如果数据没有空则导入,如果数据有空则提醒“数据有空白”

请问各位大神,怎么实现呢?


Dim Book As New XLS.Book("c:\test\订单.xls")
Dim
Sheet As XLS.Sheet = Book.Sheets(0)
Tables(
"订单").StopRedraw()
'注意以下数组中列名称的顺序,必须和Excel表中的列顺序一致

Dim
nms() As String = {"编号","产品","客户","雇员","单价","折扣","数量","日期"}
'注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题

For
n As Integer = 1 To Sheet.Rows.Count -1
   
Dim bh As String = sheet(n,0).Text
   
If DataTables("订单").Find("编号 = '" & bh & "'") Is Nothing Then '如果不存在同编号的订单
        Dim
r As Row = Tables("订单").AddNew()
        For
m As Integer = 0 To nms.Length - 1
           
r(nms(m)) = Sheet(n,m).Value
       
Next
    End If
Next
Tables(
"订单").ResumeRedraw()

[此贴子已经被作者于2020/11/11 20:36:55编辑过]

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


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


先判断,如

Dim Book As New XLS.Book("c:\test\订单.xls") 
Dim Sheet As XLS.Sheet = Book.Sheets(0)
'注意以下数组中列名称的顺序,必须和Excel表中的列顺序一致
Dim nms() As String = {"编号","产品","客户","雇员","单价","折扣","数量","日期"} 
'注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题 
For n As Integer = 1 To Sheet.Rows.Count -1 
   For m As Integer = 0 To nms.Length - 1
   If Sheet(n,m).text = ""
msgbox("数据有空白,行" & n & ",列" & m)
Return
End If
   Next
Next
Tables("订单").StopRedraw()
'注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题 
For n As Integer = 1 To Sheet.Rows.Count -1 
    Dim bh As String = sheet(n,0).Text 
    If DataTables("订单").Find("编号 = '" & bh & "'") Is Nothing Then '如果不存在同编号的订单
        Dim r As Row = Tables("订单").AddNew()
        For m As Integer = 0 To nms.Length - 1
            r(nms(m)) = Sheet(n,m).Value
        Next
    End If
Next
Tables("订单").ResumeRedraw()

 回到顶部