C# 读取excel数据

原文地址:https://www.cnblogs.com/ammy714926/p/4905026.html

 1         string path = "D:\\test.xlsx";
 2             string connstring = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1';";
 3             using (OleDbConnection conn = new OleDbConnection(connstring))
 4             {
 5                 conn.Open();
 6                 DataTable sheetsName = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "Table" }); //得到所有sheet的名字
 7                 string firstSheetName = sheetsName.Rows[0][2].ToString(); //得到第一个sheet的名字
 8                 string sql = string.Format("SELECT * FROM [{0}]", firstSheetName); //查询字符串
 9                     //string sql = string.Format("SELECT * FROM [{0}] WHERE [日期] is not null", firstSheetName); //查询字符串
10                 OleDbDataAdapter ada = new OleDbDataAdapter(sql, connstring);
11                 DataSet set = new DataSet();
12                 ada.Fill(set);
13                var aaa= set.Tables[0]; 
14             }
15             Console.ReadLine();

如果报错, 未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序

请到 https://www.microsoft.com/zh-CN/download/details.aspx?id=13255 下载AccessDatabaseEngine.exe,不要下载AccessDatabaseEngine64.exe,否则还会提示错误!

 

posted @ 2019-09-06 15:31  Alex_Mercer  阅读(90)  评论(0)    收藏  举报