C#将Excel中的数据转换成DataSet
投稿:hebedich
这篇文章主要介绍了C#将Excel中的数据转换成DataSet的方法,非常简单实用,从本人项目中提取出来的,推荐给大家,希望对大家学习C#能够有所帮助。
使用C#在不借助第三方插件的情况下将Excel中的数据转换成DataSet
/// <summary> /// EXCEL数据转换DataSet /// </summary> /// <param name="filePath">文件全路径</param> /// <param name="search">表名</param> /// <returns></returns> private DataSet GetDataSet(string fileName) { string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileName + ";Extended Properties='Excel 12.0;HDR=Yes;IMEX=1';"; OleDbConnection objConn = null; objConn = new OleDbConnection(strConn); objConn.Open(); DataSet ds = new DataSet(); //List<string> List = new List<string> { "收款金额", "代付关税", "垫付费用", "超期", "到账利润" }; List<string> List = new List<string> { }; DataTable dtSheetName = objConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" }); foreach (DataRow dr in dtSheetName.Rows) { if (dr["Table_Name"].ToString().Contains("$") && !dr[2].ToString().EndsWith("$")) { continue; } string s = dr["Table_Name"].ToString(); List.Add(s); } try { for (int i = 0; i < List.Count; i++) { ds.Tables.Add(List[i]); string SheetName = List[i]; string strSql = "select * from [" + SheetName + "]"; OleDbDataAdapter odbcCSVDataAdapter = new OleDbDataAdapter(strSql, objConn); DataTable dt = ds.Tables[i]; odbcCSVDataAdapter.Fill(dt); } return ds; } catch (Exception ex) { return null; } finally { objConn.Close(); objConn.Dispose(); } }
以上所述就是本文的全部内容了,希望大家能够喜欢。