我正在从excel文件中OleDbDataAdapter
提取内容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 [Name of spreadsheet]"
,但是我需要获取任何电子表格,例如1st电子表格,但该电子表格的名称可以是任何名称。
如何指定呢?有没有像这样的特殊字符"select * from [%]"
您需要知道工作表的名称才能在其上应用select语句。
并且您需要$
在名称末尾添加特殊字符。
假设您有一个名为的工作表,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 .....
}
此示例应为您提供excel文件中第一张工作表的名称(其他工作表在第一张工作表之后的连续行中可用)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句