以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]EXCEL导入去重 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=22592) |
||||
-- 作者:13636600695 -- 发布时间:2012/8/17 19:31:00 -- [求助]EXCEL导入去重 用如下编码导入excel表数据不能去除重复的行
Dim Book As New XLS.Book("D:\\Documents\\管理项目2\\资料.xls") [此贴子已经被作者于2012-8-17 19:31:47编辑过]
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2012/8/17 20:32:00 -- 大概如此,希望你能理解:
Dim Book As New XLS.Book("D:\\Documents\\管理项目2\\资料.xls") |
||||
-- 作者:13636600695 -- 发布时间:2012/8/17 21:10:00 -- 可能是类别有空行,所以出错
|
||||
-- 作者:czy -- 发布时间:2012/8/17 22:20:00 -- Dim Book As New XLS.Book(ProjectPath & "资料.xls") Dim Sheet As XLS.Sheet = Book.Sheets(0) Tables("资料").StopRedraw() Dim Filter As String Dim nms() As String = {"类别","品名","规格","单位"} For n As Integer = 1 To Sheet.Rows.Count - 1 Filter = "" For m As Integer = 0 To nms.Length - 1 If m > 0 Then Filter = Filter & " And " End If Filter = Filter & nms(m) & " = \'" & sheet(n,m).Value & "\'" Next If DataTables("资料").Find(Filter) 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() |
||||
-- 作者:13636600695 -- 发布时间:2012/8/18 17:46:00 -- 还是未能去重,除了去除重复之外,最好能手动选择要导入的EXCEL文件 [此贴子已经被作者于2012-8-18 17:54:00编辑过]
|
||||
-- 作者:czy -- 发布时间:2012/8/18 18:06:00 -- 没看出来哪行是重复的 |
||||
-- 作者:13636600695 -- 发布时间:2012/8/18 18:56:00 -- 问题解决了,非常感谢,原来我把中间有空行的列删除就没问题了,看来对于空行还需要修改代码 [此贴子已经被作者于2012-8-18 19:06:16编辑过]
|