Microsoft Jet数据库引擎无法找到xls的对象,但与xlsx相同的工作表工作正常

时间:2012-10-22 19:20:45

标签: excel jet

我有一个工作表名称“测试(测试)”。我使用xlsx工作簿时可以正常访问此工作表,但当工作簿采用xls格式时,我收到以下错误:

System.Data.OleDb.OleDbException (0x80040E37): The Microsoft Jet database engine could not find the object ''Test [testing]$'_'.  Make sure the object exists and that you spell its name and the path name correctly.
   at System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult hr)
   at System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult)
   at System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult)
   at System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult)
   at System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
   at System.Data.OleDb.OleDbCommand.ExecuteReader(CommandBehavior behavior)
   at System.Data.OleDb.OleDbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
   at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
   at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
   at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet)

错误似乎在寻找“测试[测试]”。 Jet做了一些我不知道的转换吗?这个错误还有其他原因吗?请注意,工作簿完全相同,只是文件格式不同。

1 个答案:

答案 0 :(得分:0)

我必须过滤掉以$_$'_结尾的表格才能生效。

This帖子引导我解决问题。 $'_未列在帖子中,但导致问题以及$_