用C#查询Excel文件,用数字单元格问题

我正在查询Excel文件以检索数据logging并将其显示在监视工具中。 事情是,当我试图select一个logging与它的ID,与下面的请求,它会引发执行查询时的错误:

ExecuteCommandTextErrorHandling

告诉我查询中的types与目标单元格不兼容。

我的请求看起来像

SELECT TOP 20 [Fields...] FROM [RECORD$] WHERE (([id] = '1')) 

id列可以包含多个数字,所以它的单元格types是标准的默认types。

我的问题是 :我怎样才能获取logging而不知道它的types?

我是否必须执行列types,如果是这样的话? 我是否必须赶上例外情况,并重试没有引号?

这里是用于查询Excel文件和我的连接string的代码

  public static DataTable queryXlsFile(String query, OleDbConnection dbConnection) { OleDbDataAdapter dbCommand = new OleDbDataAdapter(query, dbConnection); DataTable dt = new DataTable(); dbCommand.Fill(dt); return dt; } Provider=Microsoft.ACE.OLEDB.12.0; data source=C:\\test\\321.xls; Extended Properties=\"Excel 8.0;HDR=Yes;\"; 

提前致谢。

尝试添加IMEX = 1;

HDR =是; IMEX = 1"

如果你有很多行,types是最多的types,否则types取决于第一行,一个答案的types是string。