Foxtable(狐表)用户栏目专家坐堂 → [求助]请教老师如何做xls上传文件,用手工编码填充数据对应列


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

主题:[求助]请教老师如何做xls上传文件,用手工编码填充数据对应列

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


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/5/5 20:22:00 [显示全部帖子]

Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter = "Excel文件|*.xls" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
    Dim Cols1() As String = {"报告编号", "客户姓名", "联系电话", “联系地址”}
    Dim Cols2() As String = {"报告编号", "姓名", "电话",“地址”}
    Dim Book As New XLS.Book(dlg.FileName)
    Dim Sheet As XLS.Sheet = Book.Sheets(0)
    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 Cols1.Length - 1
                r(Cols2(m)) = Sheet(n, m).Value
            Next
        End If
    Next
    Tables("订单").ResumeRedraw()
End If

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


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/5/6 20:16:00 [显示全部帖子]

改为指定列的位置,比如execl里"报告编号"在第一列, "客户姓名"在第3列, "联系电话"在第5列, “联系地址”在第6列

If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
    Dim Cols1() As integer = {0, 2, 4, 5} 'execl列索引从0开始
    Dim Cols2() As String = {"报告编号", "姓名", "电话",“地址”} 'Foxtable表格列名
    Dim Book As New XLS.Book(dlg.FileName)
    Dim Sheet As XLS.Sheet = Book.Sheets(0)
    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 Cols1.Length - 1
                r(Cols2(m)) = Sheet(n, Cols1(m)).Value
            Next
        End If
    Next
    Tables("订单").ResumeRedraw()
End If

 回到顶部