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文件中的第一个工作表的名称(其他工作表在第一个连续的行之后可用) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |