整理文档,搜刮出一个c#通过oledb操作Excel实例代码,稍微整理精简一下做下分享。
公共字符串GetConnectionString () { string> Dictionary<字符串;道具=new Dictionary<字符串,string> ();//XLSX - Excel 2007, 2010, 2012, 2013 道具(“供应商”)=癕icrosoft.ACE.OLEDB.12.0;”; 道具(“扩展属性”)=癊xcel XML 12.0”; 道具(“数据源”)=@“C: \ \ MyExcel.xlsx工具”;//XLS——Excel 2003及以上//道具(“供应商”)=癕icrosoft.Jet.OLEDB.4.0”;//道具(“扩展属性”)=癊xcel 8.0”;//道具[“数据源”]=" C: \ \ MyExcel.xls”; var某人=new StringBuilder (); foreach (KeyValuePair<字符串,string>道具在道具) { sb.Append (prop.Key); sb.Append ('='); sb.Append (prop.Value); sb.Append (“;”); } 返回sb.ToString (); } 公共空间WriteExcelFile () { 字符串connectionString=GetConnectionString (); 使用(OleDbConnection康涅狄格州=new OleDbConnection (connectionString)) { conn.Open (); OleDbCommand cmd=new OleDbCommand (); cmd。连接=康涅狄格州; cmd。CommandText="创建表(表1)(INT id、名称VARCHAR datecol日期);”; cmd.ExecuteNonQuery (); cmd。CommandText="插入(表1)(id、名称、datecol)值(1“AAAA”' 2014-01-01 ');”; cmd.ExecuteNonQuery (); cmd。CommandText="插入(表1)(id、名称、datecol)值(2 ' BBBB ' ' 2014-01-03 ');”; cmd.ExecuteNonQuery (); cmd。CommandText="插入(表1)(id、名称、datecol)值(3,“预备”,' 2014-01-03 ');”; cmd.ExecuteNonQuery (); cmd。CommandText="更新(表1)设置name=' DDDD id=3;”; cmd.ExecuteNonQuery (); conn.Close (); } } 公共数据集ReadExcelFile () { 数据集ds=新数据集(); 字符串connectionString=GetConnectionString (); 使用(OleDbConnection康涅狄格州=new OleDbConnection (connectionString)) { conn.Open (); OleDbCommand cmd=new OleDbCommand (); cmd。连接=康涅狄格州;//得到所有床单在Excel文件 DataTable dtSheet=conn.GetOleDbSchemaTable (OleDbSchemaGuid。表、空);//遍历所有表获取数据 foreach(我们在dtSheet.Rows博士) { 字符串sheetName=[“TABLE_NAME”] .ToString博士(); 如果(! sheetName.EndsWith (" $ ")) 继续;//获取表的所有行 cmd。CommandText=" SELECT * FROM [+ sheetName +“]”; DataTable dt=new DataTable (); dt。表名=sheetName; OleDbDataAdapter da=new OleDbDataAdapter (cmd); da.Fill (dt); ds.Tables.Add (dt); } cmd=零; conn.Close (); } 返回ds; }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。