以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助] 导入行不重复 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=81590) |
||||||||
-- 作者:湛江智 -- 发布时间:2016/3/1 17:54:00 -- [求助] 导入行不重复 导入行有2列值重复(导入的excle表有2列和狐表2列值一样的话)跳过不导入该excle行 和excle该行覆盖狐表该行 |
||||||||
-- 作者:湛江智 -- 发布时间:2016/3/1 18:02:00 -- 第一次发帖求助,上传的附件怎么显示不了? |
||||||||
-- 作者:湛江智 -- 发布时间:2016/3/1 18:10:00 --
[此贴子已经被作者于2016/3/1 18:16:19编辑过]
|
||||||||
-- 作者:大红袍 -- 发布时间:2016/3/1 22:44:00 -- Dim dlg As New OpenFileDialog \'定义一个新的OpenFileDialog dlg.Filter= "Excel文件|*.xls" \'设置筛选器 If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮 Dim c As Integer = 0 Dim Book As New XLS.Book(dlg.FileName) 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 lx As String = sheet(n,0).Text Dim zt As String = sheet(n,1).Text If DataTables("物料信息").Find("主题 = \'" & zt & "\' and 条目类型 = \'" & lx & "\'") Is Nothing Then \'如果不存在同编号的订单 Dim r As Row = Tables("物料信息").AddNew() For m As Integer = 0 To nms.Length - 1 r(nms(m)) = Sheet(n,m).Value Next End If Next Tables("物料信息").ResumeRedraw() End If |
||||||||
-- 作者:湛江智 -- 发布时间:2016/3/1 23:11:00 -- 谢红袍教主,这么晚还帮忙处理 |
||||||||
-- 作者:湛江智 -- 发布时间:2016/3/2 15:26:00 -- 教主,导入的excle表有2列和狐表2列值一样的话,要覆盖狐表该行,代码怎么修改呢? |
||||||||
-- 作者:大红袍 -- 发布时间:2016/3/2 16:12:00 -- Dim dlg As New OpenFileDialog \'定义一个新的OpenFileDialog dlg.Filter= "Excel文件|*.xls" \'设置筛选器 If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮 Dim c As Integer = 0 Dim Book As New XLS.Book(dlg.FileName) 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 lx As String = sheet(n,0).Text Dim zt As String = sheet(n,1).Text Dim fdr As DataRow = DataTables("物料信息").Find("主题 = \'" & zt & "\' and 条目类型 = \'" & lx & "\'") If fdr Is Nothing Then \'如果不存在同编号的订单 fdr = DataTables("物料信息").AddNew() End If For m As Integer = 0 To nms.Length - 1 fdr(nms(m)) = Sheet(n,m).Value Next Next Tables("物料信息").ResumeRedraw() End If |
||||||||
-- 作者:湛江智 -- 发布时间:2019/3/26 7:54:00 -- 回复:(大红袍)Dim dlg As New OpenFileDialog '定义... 求助,导入的excle表200多列,只有这200列值和狐表里面的值不一样才要实现导入呢?也就是如果这200列都一样就不导入。 还有怎样筛选显示出狐表新增的行,已存的行那个单元格变化了,颜色突显? 也就是两个表不同之处筛选显示
[此贴子已经被作者于2019/3/26 9:34:38编辑过]
|
||||||||
-- 作者:有点甜 -- 发布时间:2019/3/26 9:53:00 -- 1、动态合成条件啊
Dim fdr As DataRow = DataTables("物料信息").Find("主题 = \'" & zt & "\' and 条目类型 = \'" & lx & "\'")
2、显示新增的行,参考
http://www.foxtable.com/webhelp/scr/0112.htm
3、显示修改的值,参考
http://www.foxtable.com/webhelp/scr/1630.htm
|
||||||||
-- 作者:湛江智 -- 发布时间:2019/3/26 11:25:00 -- 回复:(有点甜)1、动态合成条件啊 Dim fdr... Dim fdr As DataRow = DataTables("物料信息").Find("主题 = \'" & zt & "\' and 条目类型 = \'" & lx & "\'") 200列红色这写太长了,能简单一点的集写法嘛? |