以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  跳过同主键记录高速EXCEL合并导入用程序如何实现。  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=152655)

--  作者:playmal
--  发布时间:2020/7/17 13:46:00
--  跳过同主键记录高速EXCEL合并导入用程序如何实现。
如题
--  作者:有点蓝
--  发布时间:2020/7/17 14:00:00
--  
参考:http://www.foxtable.com/webhelp/topics/2334.htm
--  作者:playmal
--  发布时间:2020/7/17 16:12:00
--  
Dim Book As New XLS.Book("c:\\test\\订单.xls") 
Dim Sheet As XLS.Sheet = Book.Sheets(0)
想打开一个对话框,选择文件,如何修改下面的语句?
Dim dlg As New OpenFileDialog \'定义一个新的OpenFileDialog
dlg.Filter= "Excel文件|*.xls;*.xlsx" \'设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮
    Dim mg As New Merger
    mg.SourcePath = dlg.FileName
    mg.SourceTableName = "订单"
    mg.DataTableName = "订单"
    mg.Merge()
End If


--  作者:有点蓝
--  发布时间:2020/7/17 16:15:00
--  
Dim dlg As New OpenFileDialog \'定义一个新的OpenFileDialog
dlg.Filter= "Excel文件|*.xls;*.xlsx" \'设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮
    Dim mg As New Merger
    mg.SourcePath = dlg.FileName
    mg.SourceTableName = "订单"
    mg.DataTableName = "订单"
if dlg.FileName.EndsWith(".xls")
mg.Format = "excel"
else
mg.Format = "excel2007"
endif
    mg.Merge()
End If

--  作者:playmal
--  发布时间:2020/7/17 16:23:00
--  
不是这个意思,你告知的http://www.foxtable.com/webhelp/topics/2334.htm里面是固定了文件名的,我现在需要动态选择文件,不要固定为订单.xls
--  作者:playmal
--  发布时间:2020/7/17 16:37:00
--  
怎么把上面的自己打开对话框和下面这个结合起来。

Dim Book As New XLS.Book("c:\\test\\订单.xls"
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 
    
If DataTables("订单").Find("编号 = \'" & bh & "\'") 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



--  作者:有点蓝
--  发布时间:2020/7/17 16:51:00
--  
不是吧!!

Dim dlg As New OpenFileDialog \'定义一个新的OpenFileDialog
dlg.Filter= "Excel文件|*.xls;*.xlsx" \'设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮
Dim Book As New XLS.Book(dlg.FileName

--  作者:playmal
--  发布时间:2020/7/17 17:23:00
--  
如果合并的源文件里面字段名和目的文件的字段名不同,可以这样合并吗?
--  作者:playmal
--  发布时间:2020/7/17 17:24:00
--  
或者对应指定字段名可以吗?


--  作者:有点蓝
--  发布时间:2020/7/17 17:27:00
--  
可以