以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 一键导入多表 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=138275) |
-- 作者:15666282205 -- 发布时间:2019/7/26 20:23:00 -- 一键导入多表 能否设计代码,点击一次按钮,将一个excel数据导入两个或多个表里呢? |
-- 作者:有点蓝 -- 发布时间:2019/7/26 21:08:00 -- 参考:http://www.foxtable.com/webhelp/topics/2334.htm 比如: \'注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题 For n As Integer = 1 To Sheet.Rows.Count -1 Dim r As Row = Tables("订单").AddNew() For m As Integer = 0 To nms.Length - 1 r(nms(m)) = Sheet(n,m).Value Next r = Tables("第二个表").AddNew() For m As Integer = 0 To nms.Length - 1
r(nms(m)) = Sheet(n,m).Value Next Next |
-- 作者:15666282205 -- 发布时间:2019/7/26 21:49:00 -- 老师,如果excel表格的第一行和第二行不导入,除了导入前删除外,能用代码实现吗? |
-- 作者:有点蓝 -- 发布时间:2019/7/26 22:15:00 -- \'注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题 For n As Integer = 3 To Sheet.Rows.Count -1 |
-- 作者:15666282205 -- 发布时间:2019/7/27 21:17:00 -- 老师,我看了您写的代码,帮助里是指定文件存放位置导入。我想把您的编码和随意选择文件夹结合起来,没试验成功,请指点一下好吗? |
-- 作者:15666282205 -- 发布时间:2019/7/27 21:32:00 -- Dim Book As New XLS.Book("D:\\问题\\新建文件夹\\采购.xls") Dim Sheet As XLS.Sheet = Book.Sheets(0) For n As Integer = 1 To Sheet.Rows.Count -1 |
-- 作者:15666282205 -- 发布时间:2019/7/27 21:33:00 -- 类似的代码,需要把固定位置D盘,改为自由选择文件夹 |
-- 作者:有点蓝 -- 发布时间:2019/7/28 21:04:00 -- 参考:http://www.foxtable.com/webhelp/topics/0328.htm |
-- 作者:15666282205 -- 发布时间:2019/7/29 20:14:00 -- \'\'-----------------------------------------代码导入数据----------------------------------------- \'Dim dlg As New OpenFileDialog \'定义一个新的OpenFileDialog \'dlg.Filter= "Excel文件|*.xls" \'设置筛选器 \'If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮 \'MessageBox.Show("你选择的是:" & dlg.FileName,"提示") \'提示用户选择的文件 \'End If \'-------------------------------------------------- -上下怎样结合起来呢?---------------- \'Dim Book As New XLS.Book("c:\\test\\考勤记录.xls") \'Dim Sheet As XLS.Sheet = Book.Sheets(0) \'Tables("当月刷脸").StopRedraw() \'\'注意以下数组中列名称的顺序,必须和Excel表中的列顺序一致 \'Dim nms() As String = {"员工号","姓名","所属部门","D1","D2","D3","D4","D5","D6","D7" \'\'注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题 \'For n As Integer = 1 To Sheet.Rows.Count -1 \'Dim r As Row = Tables("当月刷脸").AddNew() \'For m As Integer = 0 To nms.Length - 1 \'r(nms(m)) = Sheet(n,m).Value \'Next \'Next \'Tables("当月刷脸").ResumeRedraw() \'\'End If |
-- 作者:有点蓝 -- 发布时间:2019/7/29 21:13:00 -- Dim dlg As New OpenFileDialog \'定义一个新的OpenFileDialog dlg.Filter= "Excel文件|*.xls" \'设置筛选器 If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮 Dim Book As New XLS.Book(dlg.FileName) Dim Sheet As XLS.Sheet = Book.Sheets(0) Tables("当月刷脸").StopRedraw() \'注意以下数组中列名称的顺序,必须和Excel表中的列顺序一致 Dim nms() As String = {"员工号","姓名","所属部门","D1","D2","D3","D4","D5","D6","D7" \'注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题 For n As Integer = 1 To Sheet.Rows.Count -1 Dim r As Row = Tables("当月刷脸").AddNew() For m As Integer = 0 To nms.Length - 1 r(nms(m)) = Sheet(n,m).Value Next Next Tables("当月刷脸").ResumeRedraw() End If
|