以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]先判断每个单元格都有数据才合并导入 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=158223) |
-- 作者:sunion -- 发布时间:2020/11/11 20:35:00 -- [求助]先判断每个单元格都有数据才合并导入 在帮助文档中有数据合并导入的代码如下,如果我想先判断要导入的订单表(订单.xls)是不是每一列的每个单元格都有数据,如果数据没有空则导入,如果数据有空则提醒“数据有空白” 请问各位大神,怎么实现呢? Dim Book As New
XLS.Book("c:\\test\\订单.xls") [此贴子已经被作者于2020/11/11 20:36:55编辑过]
|
-- 作者:有点蓝 -- 发布时间: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()
|