以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 【求助】导入代码问题请教 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=152669) |
|
-- 作者:chen_sheng -- 发布时间: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 -- 发布时间: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 & "秒") \'计算并显示执行代码所花费的秒数
|
|
-- 作者:有点蓝 -- 发布时间:2020/7/18 9:06:00 --
|