如何使用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文件中第一张纸张的名称(其他纸张在第一张之后的连续行中可用)