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 }