以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 导入数据 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=172190) |
-- 作者:fox- -- 发布时间:2021/9/28 17:22:00 -- 导入数据 老师您好我想咨询一下,导入excel表只导入跟内部表一样提单号的数据,只导入列a,列b,应该怎么写,因为内部表这几列都是空的,就想把对应的提单号的数据添加,内部表跟excel都有提单号 |
-- 作者:有点蓝 -- 发布时间:2021/9/28 17:33:00 -- 参考:http://www.foxtable.com/webhelp/topics/2334.htm |
-- 作者:fox- -- 发布时间:2021/9/28 17:54:00 -- Dim Book As New XLS.Book("c:\\test\\订单.xls") Dim Sheet As XLS.Sheet = Book.Sheets(0) Tables("订单").StopRedraw() \'注意以下数组中列名称的顺序,必须和Excel表中的列顺序一致 Dim nms() As String = {"编号","产品","客户","雇员","单价","折扣","数量","日期"} \'注意下面的循环变量从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() 老师我那个excel只有三行,想要跟foxtable合并,单号一样的情况下,才很并那条数据,其实就是我当时侯没有加那几列的,然后现在有张表可以以提单号来把他们导入,这就不是很懂 |
-- 作者:有点蓝 -- 发布时间:2021/9/28 20:14:00 -- 看2楼第三段代码,如果完全看不懂代码的,建议先学学基础:http://www.foxtable.com/webhelp/topics/0207.htm 假设execl第一列是提单号 Dim Book As New XLS.Book("c:\\test\\订单.xls")Dim Sheet As XLS.Sheet = Book.Sheets(0) Tables("内部某xx表").StopRedraw() Dim nms() As String = {"列a","列b"} For n As Integer = 1 To Sheet.Rows.Count -1 Dim bh As String = sheet(n,0).Text Dim dr As DataRow = DataTables("内部某xx表").Find("提单号 = \'" & bh & "\'") If dr Is Nothing Then \'如果不存在同编号的订单 dr = DataTables("内部某xx表").AddNew() End If For m As Integer = 0 To nms.Length - 1 dr(nms(m)) = Sheet(n,m).Value Next Next Tables("内部某xx表").ResumeRedraw() |
-- 作者:fox- -- 发布时间:2021/9/29 9:14:00 -- 老师应该没有必要没有的提单号,新增加把,因为,我就想把内部表以有的数据添加回那两列 |