以文本方式查看主题

-  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=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
mg.SourcePath = "f:\\试验\\生产计划表.xlsx"
mg.Format = "excel" \'指定格式
mg.SourceTableName = "订单信息$" \'指定要合并的表
mg.DataTableName = "订单信息" \'指定接收数据的表
mg.Merge() \'开始合并


--  作者:lin_hailun
--  发布时间:2013/1/21 11:45:00
--  
 这样编码合并是不可以判断重复的。参考2楼的代码,弄不好的话上传你的数据表。
--  作者:lxmgdsdxt
--  发布时间:2013/1/21 14:00:00
--  

我已经再发了一个贴,那里也上传了,跟这个问题一样的,还有2楼的那个代码,那些部分是自己填数据进去的,我还是不太会看哦

 


--  作者:lxmgdsdxt
--  发布时间:2013/1/21 14:02:00
--  
你就帮我看一下吧,还有,导入的时候有些列是空白,不知道为什么这样,好奇怪
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:试验.rar


--  作者:lin_hailun
--  发布时间:2013/1/21 14:25:00
--  
例子如下,请注意excel表格的列名和狐表的列名一致。

 
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:desktop.zip


--  作者: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那个格式是自动换行的原因吧