读取具有ADO.net的Excel文件 – 无数据(或表)

这是我第一次尝试通过ADO.net读取Excel 2007文件,当我尝试运行查询时,我必须丢失一些b / c,我得到一个exception。 当我开始看,这是B / C表(工作表)不在那里。 有人能告诉我我做错了什么吗?

这是我的代码:

string cs = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=My File.xlsx;Extended Properties=""Excel 12.0;IMEX=1;"""; using (OleDbConnection con = new OleDbConnection(cs)) { con.Open(); string query = "SELECT * FROM [Sheet1$]"; OleDbCommand cmd = new OleDbCommand(query, con); OleDbDataAdapter adapter = new OleDbDataAdapter(cmd); DataTable dt = new DataTable(); DataTable worksheets = con.GetSchema("Tables"); adapter.Fill(dt); . . . } 

看看这里接受的答案

放在stringvariablesC#中的Excel文件的第一列?

它适用于Excel 2003,但我认为它很容易适应2007年的工作。