如何使用OleDbDataAdapter从Excel文件中的任何电子表格中进行select

我正在使用OleDbDataAdapter从Excel文件中提取数据集,但我有SELECT语句里面的问题

 DataSet excelDataSet = new DataSet(); using (OleDbConnection con = new System.Data.OleDb.OleDbConnection(connectionString)) { con.Open(); OleDbDataAdapter cmd = new System.Data.OleDb.OleDbDataAdapter("select * from [Name of spreadsheet]", con); cmd.Fill(excelDataSet); con.Close(); } 

如果您看到“我"select * from [Name of spreadsheet]" ,但是我需要获取任何电子表格或第一个电子表格,但是此电子表格的名称可以是任何内容。

如何指定它? 是否有任何特殊字符,如"select * from [%]"

您需要知道工作表的名称以在其上应用select语句。
而且你需要在名字的末尾添加特殊的字符$

假设你有一个名为MyFirstSheet的工作表,那么你可以从中select行

  OleDbDataAdapter cmd = new OleDbDataAdapter("select * from [MyFirstSheet$]", con); 

如果你不知道你的床单名称,你可以打电话

 using (OleDbConnection con = new OleDbConnection(connectionString)) { con.Open(); DataTable dt = con.GetSchema("Tables"); string firstSheet = dt.Rows[0]["TABLE_NAME"].ToString(); ...... work with the first sheet ..... } 

这个例子应该给你excel文件中第一张纸张的名称(其他纸张在第一张之后的连续行中可用)