C#使用oledb操作excel文件的方法
本文实例讲述了C#使用oledb操作excel文件的方法。分享给大家供大家参考。具体分析如下:
不管什么编程语言都会提供操作Excel文件的方式,C#操作Excel主要有以下几种方式:
1.Excel
说明:利用Office 的Excel组件来操作excel文件
优点:能够完全操作Excel文件,生成丰富文件内容
缺点:需要电脑安装Excel,会启动Excel进程这在web上很不方便
2.OpenXML
说明:一个操作字处理文档的组件包括Excel
优点:能够操作操作Excel2007版本文件
缺点:只能够操作Excel2007文件
3.NPOI
说明:一个开源的Excel读写库
优点:不需要安装Excel
缺点:只能够操作Excel2003文档,对文档内容控制不完全
4.OleDb
说明:使用Microsoft Jet 提供程序用于连接到 Excel 工作簿,将Excel文件作为数据源来读写
优点:简单快速,能够操作高版本Excel
缺点:只能够进行有限的操作(读、写)
今天学习使用OleDb操作Excel文件
连接字符串:Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\test.xls;Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'
provider:表示提供程序名称
Data Source:这里填写Excel文件的路径
Extended Properties:设置Excel的特殊属性
Extended Properties 取值:
Excel 8.0 针对Excel2000及以上版本,Excel5.0 针对Excel97。
HDR=Yes 表示第一行包含列名,在计算行数时就不包含第一行
IMEX 0:导入模式,1:导出模式:2混合模式
1.读取excel文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
String sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=" +openFileDialog1.FileName+ ";" +
"Extended Properties='Excel 8.0;HDR=Yes;IMEX=2'" ;
//实例化一个Oledbconnection类(实现了IDisposable,要using)
using (OleDbConnection ole_conn = new OleDbConnection(sConnectionString))
{
ole_conn.Open();
using (OleDbCommand ole_cmd = ole_conn.CreateCommand())
{
//类似SQL的查询语句这个[Sheet1$对应Excel文件中的一个工作表]
ole_cmd.CommandText = "select * from [Sheet1$]" ;
OleDbDataAdapter adapter = new OleDbDataAdapter(ole_cmd);
DataSet ds = new DataSet();
adapter.Fill(ds, "Sheet1" );
for ( int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
MessageBox.Show(ds.Tables[0].Rows[i][ "商家名称" ].ToString());
}
}
}
}
|
2.获取工作簿中所有的工作表
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
String sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=" +openFileDialog1.FileName+ ";" +
"Extended Properties='Excel 8.0;HDR=Yes;IMEX=2'" ;
//实例化一个Oledbconnection类(实现了IDisposable,要using)
using (OleDbConnection ole_conn = new OleDbConnection(sConnectionString))
{
ole_conn.Open();
using (OleDbCommand ole_cmd = ole_conn.CreateCommand())
{
DataTable tb = ole_conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null );
foreach (DataRow row in tb.Rows)
{
MessageBox.Show(row[ "TABLE_NAME" ].ToString());
}
}
}
}
|
3.写入数据到Excel表
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
String sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=" +openFileDialog1.FileName+ ";" +
"Extended Properties=Excel 8.0;" ;
//实例化一个Oledbconnection类(实现了IDisposable,要using)
using (OleDbConnection ole_conn = new OleDbConnection(sConnectionString))
{
ole_conn.Open();
using (OleDbCommand ole_cmd = ole_conn.CreateCommand())
{
ole_cmd.CommandText = "insert into [Sheet1$](商户ID,商家名称)values('DJ001','点击科技')" ;
ole_cmd.ExecuteNonQuery();
MessageBox.Show( "数据插入成功......" );
}
}
}
|
4.创建Excel文件并写入数据
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
String sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=d:\\excel1.xls;" +
"Extended Properties=Excel 8.0;" ;
//实例化一个Oledbconnection类(实现了IDisposable,要using)
using (OleDbConnection ole_conn = new OleDbConnection(sConnectionString))
{
ole_conn.Open();
using (OleDbCommand ole_cmd = ole_conn.CreateCommand())
{
ole_cmd.CommandText = "CREATE TABLE CustomerInfo ([CustomerID] VarChar,[Customer] VarChar)" ;
ole_cmd.ExecuteNonQuery();
ole_cmd.CommandText = "insert into CustomerInfo(CustomerID,Customer)values('DJ001','点击科技')" ;
ole_cmd.ExecuteNonQuery();
MessageBox.Show( "生成Excel文件成功并写入一条数据......" );
}
}
|
希望本文所述对大家的C#程序设计有所帮助。
转载于:https://www.cnblogs.com/StivenYang/p/8441283.html
C#使用oledb操作excel文件的方法相关推荐
- php删除excel文件,php操作excel文件的方法小结
php操作excel文件的方法小结 php操作excel文件的方法有哪些?就跟随百分网小编一起去了解下吧,想了解更多相关信息请持续关注我们应届毕业生考试网! 一.php,不用COM,生成excel文件 ...
- php 设置excel格式,php 操作excel文件的方法小结
用php生成excel文件的方法,单独就是用的php,注意一下数据的输入方法即可. 一.php,不用COM,生成excel文件 header("Content-type:applicatio ...
- Java利用jxl.jar操作Excel文件的方法——把两列相同的数据扫描输出到新的Excel文件中...
为什么80%的码农都做不了架构师?>>> 最近公司在做数据库方面的改造,其中有两个核心库,可以把它们分别命名成A侧库和B侧库,改造的目的是把AB的库整合成一个库,其中表名相同的 ...
- c#操作excel方式二:采用OleDB操作Excel文件
内容:1.dataset转excel函数代码 2.excel转dataset函数代码 3.运用实例: 3.1写入excel 3.2读取excel dataset格式写入excel函数如下: publi ...
- 使用JDBC操作EXCEL的新方法
Excel是常用的办公工具,如果你是一个sql高手,可能希望能用SQL来操作Excel文件,因为有时候用SQL操作数据更简单,功能更强.目前在Java中用sql操作excel文件的方法一般是通过jdb ...
- ssh长时间不操作便断开_不懂Excel文件恢复方法?只要跟着这样操作,便可以光速恢复文件...
假如你不小心将Excel文件删除了,那这个时候你会采取哪些办法来找回被误删的Excel文件呢?下面我们就来说说这个问题. 一.电脑端操作 1.回收站 第一种找回Excel文件的方法是使用电脑上的回收站 ...
- C# 操作Excel文件之OleDb方式
对于Excel文件,想必大家也都知道这个的重要性,无论是做哪种语言的开发,都少不了对Excel文件的操作; 后面会用三种方式用来读取Excel,用来满足不同的项目需求: 第一种方式就是本文所要讲的Ol ...
- C#在客户端和服务端操作Excel文件
一.在客户端把数据导入到Excel文件步骤 1.创建Excel application对象,打开或生成Excel文件 //服务端创建StringBuilder对象 System.Text.St ...
- C#操作Excel文件(转)
摘要:本文介绍了Excel对象.C#中的受管代码和非受管代码,并介绍了COM组件在.net环境中的使用. 关键词:受管代码:非受管代码:Excel对象:动态连接库 引言 Excel是微软公司办公自动化 ...
最新文章
- linux小白-基础命令-ls
- 2019年有三AI“春季”划,给我一个荣耀,还你一生荣耀
- C# WINFORM中的combobox.items.add实现像web开发那样,添加显示内容text和实际value值
- vue-cli proxy中跨域中pathRewrite配置理解
- 目标检测发展路程(一)——Two stage
- android 本地地址转换为url,android本地mipmap图片转url、绝对路径转URL URL URI File Path 转换...
- python基础之面向对象编程
- 获取activemq 队列所有数据_ActiveMQ的应用
- 这个0day 影响启用 Sandbox 的多数 Windows 10 版本
- MySQL之MHA架构的介绍
- Notepad++插件安装和使用和打开大文件
- unreal4怎么设置游戏模式_怎么使用虚幻4开发游戏?
- OpenCore 启动菜单界面美化增加gui界面
- iphone 扩容测试软件,拯救iPhone 12 64G!闪迪打造的扩容神器上手:轻松省钱
- 关于网页加载慢的一个解决方法——取消勾选【局域网设置】中的【自动检测设置】
- 思科关闭日志_思科交换机日志管理
- 15条技巧提高你的写作技巧
- python重新安装ssl_python3安装文件遇到ssl未安装问题
- 毕业论文写作中致谢词的常见写法及优秀范文
- Python 真的好学吗?
热门文章
- pyinstaller与anaconda python_python – 在Anaconda安装后运行pyinstaller导致ImportError:没有名为’pefile’的模块...
- AtCoder Beginner Contest 223
- linux上的手机管家,闪电手机管家极速版
- 学习C++项目——select模型,poll模型和epoll模型
- 学习C++项目—— 计算机网络编程基础 和 学习多线程,多进程基础
- 机器人水库涵洞检测_管渠清淤机器人、管道浑水探测机器人……想不到吧?哈排水集团竟然是“科研达人”...
- torch的使用笔记
- python+Treelite:Sklearn树模型训练迁移到c、java部署
- Ansible入门使用
- 高性能web建站规则(将js放在页面底部)