以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  合并对话框中选定的文件  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=62697)

--  作者:一笑
--  发布时间:2015/1/6 16:44:00
--  合并对话框中选定的文件
模仿帮助写了以下合并文件代码,可以用。但有点不方便,必须合并名叫“时间”表格,能否修改代码,可以合并对话框中任意选定的文件,谢谢

Dim dlg As New OpenFileDialog \'定义一个新的OpenFileDialog
dlg.Filter= "Excel文件|*.xls|Excel文件|*.xlsx" \'设置筛选器
dlg.Title = "选择文件"
If dlg.ShowDialog = DialogResult.Ok Then 
    Dim mg As New Merger
    mg.SourcePath = dlg.FileName
mg.Format = "excel"
    mg.SourceTableName = “时间”
    mg.DataTableName = "时间"
    mg.Merge()
End If


--  作者:Bin
--  发布时间:2015/1/6 16:48:00
--  
你这本来就是可以选择任意名称的文件啊?

你的意思是指 任意格式的文件?



--  作者:Bin
--  发布时间:2015/1/6 16:48:00
--  
参考这里 http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=62584&skin=0
--  作者:一笑
--  发布时间:2015/1/6 16:52:00
--  
必须选择文件名固定为“时间”的文件。
mg.SourceTableName = “时间”

要选择任意名称的文件必须采用示例中的函数吗?


--  作者:Bin
--  发布时间:2015/1/6 16:54:00
--  
参考3楼例子.
--  作者:有点甜
--  发布时间:2015/1/6 16:55:00
--  

Dim dlg As New OpenFileDialog
dlg.Filter = "Excel文件|*.xls"
dlg.MultiSelect = True \'允许选择多个文件
If dlg.ShowDialog =DialogResult.OK Then
    For Each fl As String In dlg.FileNames
        Dim Book As New XLS.Book(fl)
        Dim mg As New Merger
        mg.SourcePath = fl
        mg.Format = "Excel"
        mg.SourceTableName = Book.Sheets(0).Name & "$"
        mg.DataTableName = "时间"
        mg.Merge()
    Next
End If