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 }