C# 如何使用OleDbDataAdapter从Excel文件中的任何电子表格中进行选择
我正在使用C# 如何使用OleDbDataAdapter从Excel文件中的任何电子表格中进行选择,c#,excel,linq,oledb,oledbdataadapter,C#,Excel,Linq,Oledb,Oledbdataadapter,我正在使用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
从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语句。您需要在名称的末尾添加特殊字符
$
假设您有一个名为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文件中第一张工作表的名称(其他工作表在第一张工作表之后的连续行中可用)谢谢!工作起来很有魅力!Upvote和accept=)将在OleDbConnection=)中阅读有关架构的信息