C#操作Excel文件之OleDb

C#以OleDb的方式操作Excel文件 C#读写Excel文件的方式有三种:COM+, 阅读详情

不管什么编程语言都会提供操作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

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.获取工作簿中所有的工作表

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表

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文件并写入数据

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文件成功并写入一条数据......");
                    }
                }

以上只是抛砖引玉,2013-01-01随笔...................
C# 使用oledb操作excel文件 C#操作Excel主要有以下几种方式: 1.Excel 说明:利用Office 的Excel组件来操作excel文件 优点:能够完全操作Excel文件,生成丰富文件内容 缺点:需要电脑安装Excel,会启动Excel进程这在web上很不方便 2.OpenXML 说明:一个操作字处理文档的组件包括Excel 优点:能够操作操作Excel2007版本文件 缺点:只能够操作Excel2007文件... 阅读详情

相关推荐

C#以OleDb的方式操作Excel文件(三)

二、写Excel文件 前面讲

小Q的记录 4696

C#使用Microsoft.ACE.OLEDB.12.0 需要安装的组件

報錯信息: C#使用Microsoft.ACE.OLEDB.12.0 需要安装的组件 下载地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=13255 記得要選擇中英文版本,這個要注意,不然會安裝不了的。 微軟官網說明:https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=13255 安裝說明: 注意:在安装此下载之前,必须先通过使用“控制面板”中的“添加/删除程序”,

gangli_8的博客 7339

C#进阶-OleDb操作Excel和数据库

在C#编程中,使用OleDb可以方便地实现对Excel文件和数据库的操作。本文探讨了在C#中使用OleDb技术操作Excel和数据库的策略。文章详述了OleDb的定义、配置环境的步骤,并通过实际代码示例演示了如何高效读写Excel文件和交互数据库。文中还评估了OleDb技术的优缺点,为需要处理多种数据源的开发者提供了一种有效的数据操作方案。

踏雨歌青春,诗酒趁年华 1万+

C#使用OLEDB的方式读写Excel

C#oledb的使用

weixin_73037857的博客 2531

VS 2008 C#读写excel文件

可选择打开任意excel表格,并将其中内容读取至界面显示,点击按钮修改excel中内容,是先excel读写示例。

Quartus的Signal Tap II的使用技巧

Signal Tap II全称Signal Tap II Logic Analyzer,是第二代系统级调试工具,它集成在Quartus II软件中,可以捕获和显示实时信号,是一款功能强大、极具实用性的FPGA片上调试工具软件。传统的FPGA板级调试是由外接的逻辑分析仪连接到FPGA的控制引脚,将内部引号引出至引脚I/O上,接着进行板级调试。

qq_37624854的博客 5899

C#读写EXCEL(OLEDB方式)

    用OLEDB方式读取EXCEL的速度是非常快的。但是当Excel数据量很大时。会非常占用内存,当内存不够时会抛出内存溢出的异常。     OLEDB方式将Excel作为一个数据源,直接用Sql语句操作数据,并且不需要安装Office Excel就可以使用。但缺点是不能灵活操作Excel,例如设置字体,单元格格式等。一、读取Excel连接字符串的设置:读取“.xls”时使用"Provider...

漓涂 2万+

RK3576开发板ROS2部署实战:从Buildroot配置到Hello World Demo

本文详细介绍了在RK3576开发板上部署ROS2的完整实战流程。从Buildroot工程配置、集成ROS2依赖,到搭建Docker交叉编译环境、处理编译难题,最终完成系统镜像打包并在板端成功运行Talker-Listener Demo。该指南旨在帮助开发者深入理解嵌入式机器人系统的构建链,实现从底层到应用的完全掌控。

mac99的博客 1154

C#使用oledb操作excel文件的方法

本文实例讲述了C#使用oledb操作excel文件的方法。分享给大家供大家参考。具体分析如下:不管什么编程语言都会提供操作Excel文件的方式,C#操作Excel主要有以下几种方式:1.Excel说明:利用Office 的Excel组件来操作excel文件优点:能够完全操作Excel文件,生成丰富文件内容缺点:需要电脑安装Excel,会启动Excel进程这在web上很不方便2.Open...

aonnukgkmn753855的博客 674

物联网 Mixly-智能楼道灯

一、实验目的及要求 熟悉声音及人体红外传感器用法。 二、实验原理与内容 1.使用声音传感器实现声控灯功能。 2.使用人体红外传感器实现人体检测控制灯功能。 三、实验软硬件环境 硬件:Arduino、LED灯、声音传感器、人体红外传感器 软件:Mixly IDE 四、实验过程(实验步骤、记录、数据、分析) 核心代码截图 声控灯: 人体红外检测灯: 3.实验效果图: (1)、声控灯总线连接: (1)、声控灯声音大于一某个值时灯亮,经过2秒后灯灭: (3)、人体红外检测灯连接总线: (4)、人体红外

qq_43430810的博客 1917

AltiumDesigner 09安装过程破解问题 .

首先分享一下破解文件,网上总是下载不到,好不容易下载到了,放在网盘上,有需要的自取。AltiumDesigner 09破解文件。链接:https://pan.baidu.com/s/1ZGvbR_6T51hpcaFbQiMX5w 密码:qwvaAltiumDesigner 09安装安装文件,比较大,包含破解文件:链接:https://pan.baidu.com/s/1mfgragB519jpGfR...

xiaoxiao_rabbit的博客 3万+

oledb excel java_C#使用oledb操作excel文件的方法

本文实例讲述了C#使用oledb操作excel文件的方法。分享给大家供大家参考。具体分析如下:不管什么编程语言都会提供操作Excel文件的方式,C#操作Excel主要有以下几种方式:1.Excel说明:利用Office 的Excel组件来操作excel文件优点:能够完全操作Excel文件,生成丰富文件内容缺点:需要电脑安装Excel,会启动Excel进程这在web上很不方便2.OpenXML说明:...

weixin_29151301的博客 257

锂电池的充电和放电曲线解读

锂电池充放电曲线是反映其性能的关键指标。充电曲线分为恒流和恒压两阶段:恒流阶段电压快速上升,恒压阶段电流逐渐降低;放电曲线则呈现平台期和快速衰减期特征。这些曲线受温度、充放电倍率及材料体系(如三元锂或磷酸铁锂)显著影响。通过分析曲线特征,可优化电池管理系统,实现精准的SOC估算、快充策略制定及故障诊断,从而在电池性能与安全性间取得平衡。不同应用场景(如新能源汽车或消费电子)对曲线形态有特定要求。

start_up_go的博客 5066

C# 利用 OleDb 组件操作 Excel 进行文件读写操作

OLEDB 组件是微软开发的用于连接 Excel 工作簿,将 Excel 文件作为数据源进行读写,在使用时与 SQL 几乎一样。 1 引入命名空间 using System.Data.OleDb; // 使用命名空间 2 查询操作 // 查询学生信息 private DataRowCollection findStudentById() { string id = textNumber.Text; // 查询语句,Sheet1 是工作簿中的表名,后面的$是语法要求,必须加上 string

华仔仔的博客 5549

运放单电源供电和双电源供电的实际应用案例

文章摘要:本文对比分析了运放单电源与双电源供电的典型应用场景及电路设计要点。单电源供电适用于低成本、小体积设备,如便携音箱(5V供电+中点偏置)、工业4-20mA信号转换(12V供电+电压跟随)和物联网传感器(3.3V低功耗设计);双电源供电则适合高精度要求场景,如Hi-Fi音响(±15V对称输出)、医疗设备(±5V微弱信号放大)和精密仪器(±15V宽动态范围)。文末提供常见运放选型对照表,涵盖LM324、TL082等型号的供电参数与核心特性,为不同应用场景提供选型参考。(149字)

qq_37999850的博客 608

第1章第11节:创建可容纳多行滚动文字的输入框TextEditor [SwiftUI快速入门到实战]

TextField可以让用户输入单行的文字内容,若想输入多行的文字内容,可以使用能够容纳多行滚动文字的 TextEditor。 定义一个字符串属性,用来存储用户输入的文字内容。接着定义一个布尔属性,用来标识是否弹出警告窗口,以显示用户输入的内容。 TextEditor是由UIKit中的UITextView演变而来,因此可以在init方法中,通过UITextView修改TextEditor的外观属性。 添加一个VStack视图,作为子视图的容器。 创建一个TextEditor,Te..

互动教程网[www.hdjc8.com] 832

C# 操作Excel文件之OleDb方式

对于Excel文件,想必大家也都知道这个的重要性,无论是做哪种语言的开发,都少不了对Excel文件的操作; 后面会用三种方式用来读取Excel,用来满足不同的项目需求; 第一种方式就是本文所要讲的OleDb的方式,此方式比较简单,而且也不需要引用其他的第三方DLL,读取速度也还可以,但是对于一些其他的细节操作,可能需要读取到数据之后再直接对数据源进行优化; OleDb连接方式,使用ADO.NET打开来获取Excel的数据源; 这里也再简单介绍下链接字符串中各个字段的意思: string c

qq_27410185的博客 1489

验证 helm Chart 的正确性

验证 helm Chart 的正确性

小橙子的笔记屋 281

C# 利用 OLEDB 操作 Excel 文件

在 C# 中使用 OLEDB 还是很方便的,用来操作 Excel 文件也是不错的选择。

独木专栏 1472

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Asp.net/c#+OleDb操作excel文件

Asp.net/c#+OleDb操作excel文件 、环境配置:加入using System.OleDb 2、编写连接与操作excel文件的通用函数 protected void DoOleSql(string sql, string database) { OleDbConnection conn = new OleDbConnection(); conn.Conn

lprebok的专栏 440

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

C#利用OleDb操作Excel文件

不管什么编程语言都会提供操作Excel文件的方式,C#操作Excel主要有以下几种方式: 1.Excel   说明:利用Office 的Excel组件来操作excel文件 优点:能够完全操作Excel文件,生成丰富文件内容 缺点:需要电脑安装Excel,会启动Excel进程这在web上很不方便 2.OpenXML 说明:一个操作字处理文档的组件包括Excel 优点:能够操作

每天叫醒自己的不是闹铃 是娟 是梦 是理想。 1483

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

C#以OleDb的方式操作Excel文件(二)

上次说到,用OleDb方式操作Excel文件,可不可以知道这个文件中到底有几个工作表,每个工作表叫什么

小Q的记录 1156

Asp.net/c#+OleDb操作excel文件(二),数据传输使用Parameters

Asp.net/c#+OleDb操作excel文件(二),数据传输使用Parameters

dz45693的专栏 3437
上一篇: C语言写CGI
下一篇: Linux找回root用户密码
IT回忆录
博客等级 码龄16年 42粉丝 100原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值