以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  多个文件合并问题?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=38748)

--  作者:qsmj001
--  发布时间:2013/8/6 9:03: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 mg As New Merger
        mg.SourcePath = fl
        mg.SourceTableName = "到期合同提醒"
        mg.DataTableName = "到期合同提醒"
        mg.Merge()
    Next
End If

 

Dim dlg As New OpenFileDialog \'定义一个新的OpenFileDialog
dlg.Filter= "Excel文件|*.xls" \'设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮
    Dim mg As New Merger
    mg.SourcePath = dlg.FileName
    mg.SourceTableName = "到期合同提醒"
    mg.DataTableName = "到期合同提醒"
    mg.Merge()
End If
给的提示是:

.NET Framework 版本:2.0.50727.5472
Foxtable 版本:2012.11.29.1
错误所在事件:
详细错误信息:
System.Data.OleDb.OleDbException: 不可识别的数据库格式 \'C:\\Users\\lenovo\\Desktop\\到期合同提醒.xls\'。
   在 System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult hr)
   在 System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult)
   在 System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult)
   在 System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult)
   在 System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
   在 System.Data.OleDb.OleDbCommand.ExecuteReader(CommandBehavior behavior)
   在 System.Data.OleDb.OleDbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
   在 System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
   在 System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
   在 System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)
   在 Foxtable.Merger.Merge()

 

 

但是用这段

Dim mg As New Merger
mg.SourcePath = "e:到期合同提醒.xls"
mg.Format = "excel" \'指定格式
mg.SourceTableName = "到期合同提醒$" \'指定要合并的表
mg.DataTableName = "到期合同提醒" \'指定接收数据的表
mg.Merge() \'开始合并

 

就可以合并    

 

 

求解释


--  作者:Bin
--  发布时间:2013/8/6 9:06:00
--  
mg.Format = "excel" \'指定格式   指定格式的代码去哪里了?你对比一下没发现你少了一句代码吗?名称后面也没有 加$