Foxtable(狐表)用户栏目专家坐堂 → 【求助】导入代码问题请教


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

主题:【求助】导入代码问题请教

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


加好友 发短信
等级:三尾狐 帖子:692 积分:6101 威望:0 精华:0 注册:2018/5/10 9:05:00
【求助】导入代码问题请教  发帖心情 Post By:2020/7/17 20:14:00 [只看该作者]

如下代码导入后窗口是白的  
Dim st As Date = Date.Now
'MessageBox.Show("耗时: " & (Date.Now - st).TotalSeconds & "秒") '计算并显示执行代码所花费的秒数

SystemReady = False
Try
'追加数据代码

  Dim dlg As New OpenFileDialog
    dlg.Filter= "所有文件|*.*|Excel2003文件|*.xls|Excel2007文件|*.xlsx" '设置筛选器

    If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
        MessageBox.Show("你选择的是:" & dlg.FileName,"提示")
        
        If MessageBox.Show("是否合并?","请确认!",MessageBoxButtons.OKCancel,MessageBoxIcon.Question) = DialogResult.OK Then
            Tables(eForm.Name & "_Table3").StopRedraw()
            Forms("加载窗口").Show

Dim Book As New XLS.Book(dlg.FileName)
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Tables(eForm.Name & "_Table3").StopRedraw()
'注意以下数组中列名称的顺序,必须和Excel表中的列顺序一致
Dim nms() As String = {"订单编号","工序","产品型号","数量","选择员工","差数","单价","金额"}
'注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题
For n As Integer = 1 To Sheet.Rows.Count -1 
    Dim r As Row = Tables(eForm.Name & "_Table3").AddNew()
    For m As Integer = 0 To nms.Length - 1
         r(nms(m)) = Sheet(n,m).Value
    Next
Next
Tables(eForm.Name & "_Table3").ResumeRedraw()

Catch ex As Exception
    MessageBox.Show("追加数据失败") 
End Try
SystemReady = True
MessageBox.Show("耗时: " & (Date.Now - st).TotalSeconds & "秒") '计算并显示执行代码所花费的秒数

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


加好友 发短信
等级:童狐 帖子:249 积分:1853 威望:0 精华:2 注册:2018/1/16 20:53:00
  发帖心情 Post By:2020/7/17 23:45:00 [只看该作者]

试试
Dim st As Date = Date.Now
SystemReady = False
'追加数据代码
Dim dlg As New OpenFileDialog
dlg.Filter= "所有文件|*.*|Excel2003文件|*.xls|Excel2007文件|*.xlsx" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
    If MessageBox.Show("是否合并?","请确认!",MessageBoxButtons.OKCancel,MessageBoxIcon.Question) = DialogResult.OK Then
        Forms("加载窗口").Show
        Try
            Dim Book As New XLS.Book(dlg.FileName)
            Dim Sheet As XLS.Sheet = Book.Sheets(0)
            Tables(e.Form.Name & "_Table3").StopRedraw()
            '注意以下数组中列名称的顺序,必须和Excel表中的列顺序一致
            Dim nms() As String = {"订单编号","工序","产品型号","数量","选择员工","差数","单价","金额"}
            '注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题
            For n As Integer = 1 To Sheet.Rows.Count -1
                Dim r As Row = Tables(e.Form.Name & "_Table3").AddNew()
                For m As Integer = 0 To nms.Length - 1
                    r(nms(m)) = Sheet(n,m).Value
                Next
            Next
            Tables(eForm.Name & "_Table3").ResumeRedraw()
        Catch ex As Exception
            MessageBox.Show("追加数据失败")
        End Try
    End If
End If
SystemReady = True
MessageBox.Show("耗时: " & (Date.Now - st).TotalSeconds & "秒") '计算并显示执行代码所花费的秒数

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


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

Dim st As Date = Date.Now
'MessageBox.Show("耗时: " & (Date.Now - st).TotalSeconds & "秒") '计算并显示执行代码所花费的秒数


Try
'追加数据代码

  Dim dlg As New OpenFileDialog
    dlg.Filter= "所有文件|*.*|Excel2003文件|*.xls|Excel2007文件|*.xlsx" '设置筛选器

    If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
        MessageBox.Show("你选择的是:" & dlg.FileName,"提示")
        
        If MessageBox.Show("是否合并?","请确认!",MessageBoxButtons.OKCancel,MessageBoxIcon.Question) = DialogResult.OK Then
            Tables(eForm.Name & "_Table3").StopRedraw()
            Forms("加载窗口").Show

Dim Book As New XLS.Book(dlg.FileName)
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Tables(eForm.Name & "_Table3").StopRedraw()
'注意以下数组中列名称的顺序,必须和Excel表中的列顺序一致
Dim nms() As String = {"订单编号","工序","产品型号","数量","选择员工","差数","单价","金额"}
'注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题
SystemReady = False
For n As Integer = 1 To Sheet.Rows.Count -1 
    Dim r As Row = Tables(eForm.Name & "_Table3").AddNew()
    For m As Integer = 0 To nms.Length - 1
         r(nms(m)) = Sheet(n,m).Value
    Next
Next
SystemReady = True
Tables(eForm.Name & "_Table3").ResumeRedraw()

Catch ex As Exception
    MessageBox.Show("追加数据失败") 
End Try

MessageBox.Show("耗时: " & (Date.Now - st).TotalSeconds & "秒") '计算并显示执行代码所花费的秒数


 回到顶部