c#读取excel数据

 1 //根据excle的路径把第一个sheel中的内容放入datatable
 2         public static DataTable ReadExcelToTable(string path)//excel存放的路径
 3         {
 4             try
 5             {
 6  
 7                 //连接字符串
 8                 string connstring = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1';"; // Office 07及以上版本 不能出现多余的空格 而且分号注意
 9                 //string connstring = Provider=Microsoft.JET.OLEDB.4.0;Data Source=" + path + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1';"; //Office 07以下版本 
10                 using (OleDbConnection conn = new OleDbConnection(connstring))
11                 {
12                     conn.Open();
13                     DataTable sheetsName = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "Table" }); //得到所有sheet的名字
14                     string firstSheetName = sheetsName.Rows[0][2].ToString(); //得到第一个sheet的名字
15                     string sql = string.Format("SELECT * FROM [{0}]", firstSheetName); //查询字符串                    //string sql = string.Format("SELECT * FROM [{0}] WHERE [日期] is not null", firstSheetName); //查询字符串
16                     OleDbDataAdapter ada = new OleDbDataAdapter(sql, connstring);
17                     DataSet set = new DataSet();
18                     ada.Fill(set);
19                     return set.Tables[0];
20                 }
21             }
22             catch (Exception)
23             {
24                 return null;
25             }
26  
27 }

 

posted on 2019-11-07 15:17  leizhui  阅读(2543)  评论(0编辑  收藏  举报