加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 04:01:20 所属栏目:百科 来源:网络整理
导读:我使用OleDbDataAdapter从Excel文件中提取DataSet,但是我在SELECT语句里面有问题 DataSet excelDataSet = new DataSet();using (OleDbConnection con = new System.Data.OleDb.OleDbConnection(connectionString)){ con.Open(); OleDbDataAdapter cmd = new
我使用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文件中的第一个工作表的名称(其他工作表在第一个连续的行之后可用)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读