c# – 如何使用OleDbDataAdapter从Excel文件中的任何电子表格中进行SELECT

前端之家收集整理的这篇文章主要介绍了c# – 如何使用OleDbDataAdapter从Excel文件中的任何电子表格中进行SELECT前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用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 $.

假设你有一个名为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文件中的第一个工作表的名称(其他工作表在第一个连续的行之后可用)

猜你在找的C#相关文章