Excel中的Oledbexception到数据表转换

我想在Excel中使用Excel作为我的数据库,我使用下面的代码

public DataTable exceldata(string filePath) { DataTable dtexcel = new DataTable(); bool hasHeaders = true; string HDR = hasHeaders ? "Yes" : "No"; string strConn; if (filePath.Substring(filePath.LastIndexOf('.')).ToLower() == ".xlsx") strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filePath + ";Extended Properties=\"Excel 12.0;HDR=" + HDR + ";IMEX=0\""; else strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties=\"Excel 8.0;HDR=" + HDR + ";IMEX=0\""; OleDbConnection conn = new OleDbConnection(strConn); conn.Open(); DataTable schemaTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" }); //Looping Total Sheet of Xl File /*foreach (DataRow schemaRow in schemaTable.Rows) { }*/ //Looping a first Sheet of Xl File DataRow schemaRow = schemaTable.Rows[0]; string sheet = schemaRow["TABLE_NAME"].ToString(); if (!sheet.EndsWith("_")) { string query = "SELECT * FROM Customers"; OleDbDataAdapter daexcel = new OleDbDataAdapter(query, conn); dtexcel.Locale = CultureInfo.CurrentCulture; daexcel.Fill(dtexcel); } conn.Close(); return dtexcel; } 

当我执行这个代码时,

Microsoft Access数据库引擎找不到“客户”对象。 确保对象存在,并且正确拼写其名称和path名称。 如果“客户”不是本地对象,请检查您的networking连接或联系服务器pipe理员。 这里是人口稠密的地方..我该怎么办,请帮助我…

当您通过.NET查询Excel文件时,应使用以下语法:

 select * from [Customers$] 

这假定您的Excel工作簿包含一个名为客户的工作表