C# 操作Excel文件之OleDb方式
对于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();
由简入繁,拿来即用
后续精彩,持续关注
欢迎关注公众号: dotnet编程大全
技术群: 需要进技术群的添加小编微信mm1552923,备注:加群;
C# 操作Excel文件之OleDb方式相关推荐
- C#使用oledb操作excel文件的方法
本文实例讲述了C#使用oledb操作excel文件的方法.分享给大家供大家参考.具体分析如下: 不管什么编程语言都会提供操作Excel文件的方式,C#操作Excel主要有以下几种方式: 1.Excel ...
- C#在客户端和服务端操作Excel文件
一.在客户端把数据导入到Excel文件步骤 1.创建Excel application对象,打开或生成Excel文件 //服务端创建StringBuilder对象 System.Text.St ...
- C#操作Excel文件(转)
摘要:本文介绍了Excel对象.C#中的受管代码和非受管代码,并介绍了COM组件在.net环境中的使用. 关键词:受管代码:非受管代码:Excel对象:动态连接库 引言 Excel是微软公司办公自动化 ...
- C#操作Excel文件暨C#实现在Excel中将连续多列相同数据项合并
C#操作Excel文件(读取Excel,写入Excel) 看到论坛里面不断有人提问关于读取excel和导入excel的相关问题.闲暇时间将我所知道的对excel的操作加以总结,现在共享大家,希望给大家 ...
- csv文件怎么转成excel_Python操作Excel文件(1):花式大师pyexcel
本文共2900余字,预计阅读时间12分钟,本文知乎连接:Python操作Excel文件(1):花式大师pyexcel,本文同步发布于silaoA的博客和微信公众号平台. 关注学习了解更多的Cygwin ...
- Java生成和操作Excel文件
JAVA EXCEL API:是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容.创建新的Excel文件.更新已经存在的Excel文件.使用该API非Windows操作系统也可以通过 ...
- xlrd和xlwt操作Excel文件
DAY8 xlrd和xlwt操作Excel文件 一.xlrd获取文件内容 1.打开excel文件 import xlrd wb = xlrd.open_workbook('files/data1.xl ...
- C#操作Excel文件
C#操作Excel文件 前言 好久没更新博客了,趁着最近经常需要使用到Excel,就随手更新下博客把!由于之前一直使用的是Microsoft.Office.Interop.Excel,但是呢,在使用的 ...
- C# 使用NPOI 操作 Excel 文件
C# 使用NPOI 操作 Excel 文件 使用 创建 Excel 文件 创建 XLS 文件 创建 XLSX 文件 合并单元格 设置单元格格式 对齐 字体 边框 填充 保护 数字 下拉框 直接传递下拉 ...
最新文章
- 你知道怎么分库分表吗?如何做到永不迁移数据和避免热点吗?
- 【图像处理opencv】_图像边缘
- 马尔科夫链和马尔科夫链蒙特卡洛方法
- 使用INNER JOIN ON 多表关联查询,获取指定用户下指定权限的资源SQL:
- 他是Facebook广告投入费用过亿的独立站卖家
- 三条中线分的六个三角形_三角形中的边长和线段(下)
- 防火墙 规则与链的分类
- CVPR2021中的目标检测和语义分割论文汇总
- 给一张表加一个自动编号字段_Python办公自动化|从Word到Excel
- c语言 程序段 数据段,C程序段(代码段、数据段、BSS段以及堆栈)的详解
- 三农数据(1996-2020)一:农村综合、乡村人口、文化程度、农村机械等
- Egret + P2物理引擎入门教程
- 代码不规范,亲人两行泪——DTO
- 如何计算置信区间,RMSE均方根误差/标准误差:误差平方和的平均数开方
- ROS创建launch文件
- 数据结构实验 7-18 新浪微博热门话题 (30分)
- Python对文件(外存)和内存的操作
- 使用Nginx中遇到的一个小问题思考
- LeetCode hot-100 简单and中等难度,51-60.
- spring-aop-@Aspect详细用法