我使用OleDbDataAdapter从Excel文件中提取DataSet,但是我在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 [%]”
解决方法
您需要知道表单的名称才能在其上应用select语句.
并且您需要在名称的末尾添加特殊的char $.
并且您需要在名称的末尾添加特殊的char $.
假设你有一个名为MyFirstSheet的工作表,那么你可以从中选择行
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 ..... }