以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求助!帮我看看,想导入多个EXCEL表数据,问题在哪  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=135571)

--  作者:0799snow
--  发布时间:2019/5/29 15:50:00
--  求助!帮我看看,想导入多个EXCEL表数据,问题在哪
Dim dlg As New OpenFileDialog
dlg.MultiSelect = True
If dlg.ShowDialog = DialogResult.OK Then
    OutPut.Show("你选择了" & dlg.FileNames.Length & "个文件, 分别是:")
    For Each fl As String In dlg.FileNames
        Dim Book As New XLS.Book(fl)
Dim Sheet As XLS.Sheet = Book.Sheets(0)
    Next
End If
Tables("明细表").StopRedraw()
\'注意以下数组中列名称的顺序,必须和Excel表中的列顺序一致
Dim nms() As String ={"卡号","交易时间","金额","数量"}
\'注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题 
Dim Sheet As XLS.Sheet = Book.Sheets(0)
For n As Integer = 4 To Sheet.Rows.Count -1 
    Dim sj As String = sheet(n,2).Text 
Next
    If DataTables("明细表").Find("交易时间 = \'" & sj & "\'") 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 

--  作者:有点甜
--  发布时间:2019/5/29 15:55:00
--  
Dim dlg As New OpenFileDialog
dlg.MultiSelect = True
If dlg.ShowDialog = DialogResult.OK Then
    OutPut.Show("你选择了" & dlg.FileNames.Length & "个文件, 分别是:")
    For Each fl As String In dlg.FileNames
        Dim Book As New XLS.Book(fl)
       
        Tables("明细表").StopRedraw()
        \'注意以下数组中列名称的顺序,必须和Excel表中的列顺序一致
        Dim nms() As String ={"卡号","交易时间","金额","数量"}
        \'注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题
        Dim Sheet As XLS.Sheet = Book.Sheets(0)
        For n As Integer = 4 To Sheet.Rows.Count -1
            Dim sj As String = sheet(n,2).Text
           
            If DataTables("明细表").Find("交易时间 = \'" & sj & "\'") 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
    Next
End If

--  作者:0799snow
--  发布时间:2019/5/29 16:34:00
--  求助!执行刚才你给的代码后,绑定表显示为空了
求助!执行刚才你给的代码后,绑定表显示为空了,绑定表,我设定了副本为true


--  作者:0799snow
--  发布时间:2019/5/29 16:36:00
--  继续刚才话题
我想删除一些不需要的行,比如导入的数据为空行的,和某行数据名称为“小计”
--  作者:0799snow
--  发布时间:2019/5/29 16:39:00
--  比如有一列名为卡号,但是名称是小计
CurrentTable.DataTable.Deletefor ("卡号=\'小计\'")
这个命令,连接刚才的命令下不行吗,显示,找不到卡号列

--  作者:有点甜
--  发布时间:2019/5/29 17:14:00
--  

执行代码

 

DataTables("明细表").Deletefor ("卡号=\'小计\'")