以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 要合并的表名称不固定但有规律,应该怎么合? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=56912) |
-- 作者:xiaoyongxg2 -- 发布时间:2014/9/15 12:18:00 -- 要合并的表名称不固定但有规律,应该怎么合? Dim dlg As New OpenFileDialog dlg.Filter= "Excel 97-2003 工作簿(*.xls)|*.xls|Excel 工作簿(*.xlsx)|*.xlsx" If dlg.ShowDialog = DialogResult.Ok Then Dim mg As New Merger mg.SourcePath = dlg.FileName mg.Format = "excel" mg.SourceTableName = "8月工资表$"or"9月工资表"or"10月工资表"(可以这样写吗?如果不对应该怎么写?请老师指点) mg.DataTableName = "工资表" \'指定接收数据的表 mg.Merge() \'开始合并 End If MessageBox.Show("导入完成" )
|
-- 作者:jspta -- 发布时间:2014/9/15 12:42:00 -- 以下是引用xiaoyongxg2在2014-9-15 12:18:00的发言:
Dim dlg As New OpenFileDialog dlg.Filter= "Excel 97-2003 工作簿(*.xls)|*.xls|Excel 工作簿(*.xlsx)|*.xlsx" If dlg.ShowDialog = DialogResult.Ok Then dim arr() as string = {"8月工资表$","9月工资表","10月工资表") for each ar as string in arr Dim mg As New Merger mg.SourcePath = dlg.FileName mg.Format = "excel" mg.SourceTableName = ar mg.DataTableName = "工资表" \'指定接收数据的表 mg.Merge() \'开始合并 next End If MessageBox.Show("导入完成" ) |
-- 作者:xiaoyongxg2 -- 发布时间:2014/9/15 13:15:00 -- .NET Framework 版本:2.0.50727.8009 Foxtable 版本:2012.11.29.1 错误所在事件: 详细错误信息: System.Data.OleDb.OleDbException: Microsoft Office Access 数据库引擎找不到对象“6月工资表”。请确定该对象存在,并正确拼写其名称和路径名。 在 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()
|
-- 作者:xiaoyongxg2 -- 发布时间:2014/9/15 13:21:00 -- 这样不行啊,他会挨个出错,直到对的一个才导入。 |
-- 作者:jspta -- 发布时间:2014/9/15 13:39:00 -- 你需要判断表名的正确性啊,我只是给你个参考的方法 |
-- 作者:Bin -- 发布时间:2014/9/15 14:07:00 -- 同一个问题不要反复提问 |
-- 作者:有点甜 -- 发布时间:2014/9/15 14:16:00 -- Dim dlg As New OpenFileDialog dlg.Filter= "Excel 97-2003 工作簿(*.xls)|*.xls|Excel 工作簿(*.xlsx)|*.xlsx" If dlg.ShowDialog = DialogResult.Ok Then Dim Book As New XLS.Book(dlg.FileName) For Each sheet As XLS.Sheet In Book.Sheets Dim mg As New Merger mg.SourcePath = dlg.FileName mg.Format = "excel" mg.SourceTableName = sheet.Name.Replace("$", "") & "$" mg.DataTableName = "工资表" \'指定接收数据的表 mg.Merge() \'开始合并 Next End If MessageBox.Show("导入完成" ) |
-- 作者:xiaoyongxg2 -- 发布时间:2014/9/15 15:13:00 -- 谢谢甜老师 |