C# 操作Excel文件之OleDb方式
发布日期:2024-07-22 00:44 点击次数:131
对于Excel文件,想必大家也都知道这个的重要性,无论是做哪种语言的开发,都少不了对Excel文件的操作;
后面会用三种方式用来读取Excel,用来满足不同的项目需求;
图片
第一种方式就是本文所要讲的OleDb的方式,此方式比较简单,而且也不需要引用其他的第三方DLL,读取速度也还可以,但是对于一些其他的细节操作,可能需要读取到数据之后再直接对数据源进行优化;
OleDb连接方式,使用ADO.NET打开来获取Excel的数据源;
这里也再简单介绍下链接字符串中各个字段的意思:
string connStr = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + excelPath + ";" + ";Extended Properties=\"Excel 12.0;HDR=YES;IMEX=1\"";Provider是用来提供程序连接到Excel;Data Source是要读取的Excel文件;Extended Properties 是设置 Excel 的属性;HDR用来指示第一行是否为表头;IMEX表示对文件操作的各种模式(0:写模式,1:读模式)
实现功能:
使用Oledb将Excel文件中的数据显示到dataGridView使用Sql语句添加数据到Excel
开发环境:
开发工具:Visual Studio 2013.NET Framework版本:4.5
实现代码:
private void GetExcel(){ //实例化一个datatable用来存储数据 DataTable dt = new DataTable(); //指定excel所在路径 string excelPath = "d:\\1.xlsx"; //Offic2007以上连接字符串 string connStr = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + excelPath + ";" + ";Extended Properties=\"Excel 12.0;HDR=YES;IMEX=1\""; //Offic2007以下连接字符串 if (excelPath.ToLower().EndsWith(".xls")) { connStr = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + excelPath + ";" + ";Extended Properties=\"Excel 8.0;HDR=YES;IMEX=1\""; } OleDbConnection OleConn = new OleDbConnection(connStr); OleConn.Open(); //返回excel文件的结构信息 DataTable dtSheet = OleConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); //取第一个sheet页的数据 string sql = string.Format("SELECT * FROM [{0}]", dtSheet.Rows[0]["TABLE_NAME"]); OleDbDataAdapter OleDaExcel = new OleDbDataAdapter(sql, OleConn); OleDaExcel.Fill(dt); //展示到页面 dataGridView1.DataSource = dt; //关闭链接 OleConn.Close();}
到这里,读取的代码就完成了,这时候肯定有朋友在想,既然可以用ADO.NET去做查询,那是否可以去做更新或者插入呢?结果当然是可以的了,按照我们上面所介绍的,需要先将IMEX的值设置为0,即可写模式,如下:
string connStr = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + excelPath + ";" + ";Extended Properties=\"Excel 12.0;HDR=YES;IMEX=0\"";
然后就可以跟操作数据库一样直接写Insert语句了,部分代码如下:
string sql = string.Format("insert into [{0}] values ('赵六','女','23')", dtSheet.Rows[0]["TABLE_NAME"]);OleDbCommand cmd = new OleDbCommand(sql, OleConn);cmd.ExecuteNonQuery();
由简入繁,拿来即用
后续精彩,持续关注
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报。热点资讯
- 2024-08-26又一辽篮球员退出国家队, 下一个是付豪? 球迷: 这就是男篮的病因
- 2024-07-14世界华文媒体(00685)7月10日斥资5.6万林吉特回购40万股
- 2024-07-29引领化工企业安全风险智能化管控新时代
- 2024-10-14适合更年期吃的5样东西,补气血强免疫,身体棒显年轻
- 2024-10-14二丹丸——老年健忘之神奇解药
- 2024-09-094种痘印区别对待,恢复逆天无暇肌!
相关资讯
- 适合更年期吃的5样东西,补气血强免疫,身体棒显年轻
- 挥就下一个冠军!别克青少年高尔夫2024赛季启航
- 世界华文媒体(00685)7月10日斥资5.6万林吉特回购40万股
- C# 操作Excel文件之OleDb方式
- 过了30岁后面部皮肤松弛怎么办?下垂提升|怎么办|什么原因|改善|医院|医生