以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]合并Excel文件,设置窗口的导入按钮里面编好了代码,但是每次按导入,它都把东西多次导进去 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=28015) |
||||
-- 作者:lxmgdsdxt -- 发布时间:2013/1/16 14:20:00 -- [求助]合并Excel文件,设置窗口的导入按钮里面编好了代码,但是每次按导入,它都把东西多次导进去 合并Excel文件,设置窗口的导入按钮里面编好了代码,但是每次按导入,它都把东西多次导进去,就是,我导入的内容本来就只有10行,但我再按多一次导入,它又多了10行,就是有20行的东西,后10行的东西就是重复前10行的,求高手解救! |
||||
-- 作者:lin_hailun -- 发布时间:2013/1/16 15:42:00 -- 你导入代码是怎么写的?默认的合并是不会比较是否重复的,你必须自己编码去比较才行。 可以参考下面的代码: Dim dlg As New OpenFileDialog dlg.Filter= "Excel文件|*.xls" If dlg.ShowDialog = DialogResult.Ok Then ‘MessageBox.Show("你选择的是:" & dlg.FileName,"提示") Dim Book As New XLS.Book(dlg.FileName) Dim Sheet As XLS.Sheet = Book.Sheets(0) Dim colNames As New List(Of String) For i As Integer = 0 To sheet.Cols.Count - 1 colNames.Add(sheet(0, i).Text) Next Dim dt As DataTable = DataTables("工资表") For i As Integer = 0 To sheet.Rows.Count - 1 If dt.Find("xxxxxxxxxxxxxxxxxxxxxxxxx") Is Nothing Then Dim ndr As DataRow = dt.AddNew For j As Integer = 0 To sheet.Cols.Count - 1 ndr(colNames(j)) = sheet(i, j).Text Next End If Next End If |
||||
-- 作者:lxmgdsdxt -- 发布时间:2013/1/21 11:39:00 -- 大神求教一下,我的编码是这样的 Dim mg As New Merger |
||||
-- 作者:lin_hailun -- 发布时间:2013/1/21 11:45:00 -- 这样编码合并是不可以判断重复的。参考2楼的代码,弄不好的话上传你的数据表。 |
||||
-- 作者:lxmgdsdxt -- 发布时间:2013/1/21 14:00:00 -- 我已经再发了一个贴,那里也上传了,跟这个问题一样的,还有2楼的那个代码,那些部分是自己填数据进去的,我还是不太会看哦
|
||||
-- 作者:lxmgdsdxt -- 发布时间:2013/1/21 14:02:00 -- 你就帮我看一下吧,还有,导入的时候有些列是空白,不知道为什么这样,好奇怪
|
||||
-- 作者:lin_hailun -- 发布时间:2013/1/21 14:25:00 -- 例子如下,请注意excel表格的列名和狐表的列名一致。
|
||||
-- 作者:lxmgdsdxt -- 发布时间:2013/1/21 14:56:00 -- 我excel的列名不是跟狐表的列名一样嘛,都是这么叫的哦 |
||||
-- 作者:lin_hailun -- 发布时间:2013/1/21 14:58:00 -- 以下是引用lxmgdsdxt在2013-1-21 14:56:00的发言: 我excel的列名不是跟狐表的列名一样嘛,都是这么叫的哦 注意回车键或者空格键等等,不然导入不成功的 |
||||
-- 作者:lxmgdsdxt -- 发布时间:2013/1/21 15:35:00 -- 谢谢你,那我应该明白了,可能是excel那个格式是自动换行的原因吧 |