以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]批量新值替换旧值 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=113196) |
||||
-- 作者:工匠 -- 发布时间:2018/1/10 23:17:00 -- [求助]批量新值替换旧值
老师好: 有种情况,原来表A料号列对应的值列,很多行都发生了变化,和系统里不一样了,需要从EXCEL整理出来的表格料号对应的值进行替换,请问要如何实现进行一次性替换,万分感谢! 谢谢!
|
||||
-- 作者:有点甜 -- 发布时间:2018/1/11 9:56:00 -- Dim dlg As new OpenFileDialog If dlg.ShowDialog = DialogResult.OK Then Dim Book As New XLS.Book(dlg.FileName) Dim Sheet As XLS.Sheet = Book.Sheets(0) Dim nms() As String = {"料号","值"} For n As Integer = 1 To Sheet.Rows.Count -1 Dim bh As String = sheet(n,0).Text Dim dr As DataRow = DataTables("表A").Find("料号 = \'" & bh & "\'") If dr Is Nothing Then \'如果不存在同编号的订单 dr = DataTables("订单").AddNew() End If For m As Integer = 0 To nms.Length - 1 dr(nms(m)) = Sheet(n,m).Value Next Next End If |
||||
-- 作者:工匠 -- 发布时间:2018/1/11 10:56:00 -- 谢谢有点甜老师,我还是小白,不懂怎么实现,请有时间帮我做个例子,通过点击窗口按钮合并:如果合并表(新值)的料号和系统表A料号相同的,就直接替换原来表A料号对应的值,如果不一样的料号,则合并新增加入这些不一样的料号和对应值。万分感谢!我原来笨办法是:在系统做一个新表,列名一样的,新值合并到新表,再旧表加个数值02列,用料号关联,当数值02列表达式等于新表数值列有数据时,再不显示空值,进行把数值02列复制到数值列,不过这样太麻烦了。 |
||||
-- 作者:工匠 -- 发布时间:2018/1/11 10:58:00 --
|
||||
-- 作者:有点甜 -- 发布时间:2018/1/11 11:09:00 -- 做一个按钮,执行2楼的代码,即可。 |
||||
-- 作者:工匠 -- 发布时间:2018/1/11 11:27:00 -- 谢谢老师,可以了。建议官方集合一些点赞的表情包在论坛,方便广大学员使用... |