c excel操作在哪个命名空间(请问如何用C#读取/显示Excel)

2026-07-28 02:00:01 0

c  excel操作在哪个命名空间(请问如何用C#读取/显示Excel)

大家好,如果您还对c excel操作在哪个命名空间不太了解,没有关系,今天就由本站为大家分享c excel操作在哪个命名空间的知识,包括请问如何用C#读取/显示Excel的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

本文目录

请问如何用C#读取/显示Excel

//创建一个数据链接
string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = c:\\sample.xls;Extended Properties=Excel 8.0" ;
OleDbConnection myConn = new OleDbConnection ( strCon ) ;
string strCom = " SELECT * FROM " ;
myConn.Open ( ) ;
file://打开数据链接,得到一个数据集
OleDbDataAdapter myCommand = new OleDbDataAdapter ( strCom , myConn ) ;
file://创建一个 DataSet对象
myDataSet = new DataSet ( ) ;
file://得到自己的DataSet对象
myCommand.Fill ( myDataSet , "" ) ;
file://关闭此数据链接
myConn.Close ( ) ;
怎么样读取Excel表格中的数据其实和读取数据库中的数据没有什么实质上的区别。
注释:这里读取的是C盘根目录下的"Sample.xls"文件。
(2).用DataGrid来显示得到的数据集:
在得到DataSet对象后,只需要通过下列二行代码,就可以把数据集用DataGrid显示出来了:
DataGrid1.DataMember= "" ;
DataGrid1.DataSource = myDataSet ;
(3).用Visual C#读取Excel表格,并用DataGrid显示出来的程序代码(Read.cs)和程序运行的界面:
掌握了上面二点,水到渠成就可以得到以下代码:
using System ;
using System.Drawing ;
using System.Collections ;
using System.ComponentModel ;
using System.Windows.Forms ;
using System.Data ;
using System.Data.OleDb ;
public class Form1 : Form
{
private Button button1 ;
private System.Data.DataSet myDataSet ;
private DataGrid DataGrid1 ;
private System.ComponentModel.Container components = null ;
public Form1 ( )
{
file://初始化窗体中的各个组件
InitializeComponent ( ) ;
file://打开数据链接,得到数据集
GetConnect ( ) ;
}
file://清除程序中使用过的资源
protected override void Dispose ( bool disposing )
{
if ( disposing )
{
if ( components != null )
{
components.Dispose ( ) ;
}
}
base.Dispose ( disposing ) ;
}
private void GetConnect ( )
{
file://创建一个数据链接
string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = c:\\sample.xls;Extended Properties=Excel 8.0" ;
OleDbConnection myConn = new OleDbConnection ( strCon ) ;
string strCom = " SELECT * FROM " ;
myConn.Open ( ) ;
file://打开数据链接,得到一个数据集
OleDbDataAdapter myCommand = new OleDbDataAdapter ( strCom , myConn ) ;
file://创建一个 DataSet对象
myDataSet = new DataSet ( ) ;
file://得到自己的DataSet对象
myCommand.Fill ( myDataSet , "" ) ;
file://关闭此数据链接
myConn.Close ( ) ;
}
private void InitializeComponent ( )
{
DataGrid1 = new DataGrid ( ) ;
button1 = new Button ( ) ;
SuspendLayout ( ) ;
DataGrid1.Name = "DataGrid1";
DataGrid1.Size = new System.Drawing.Size ( 400 , 200 ) ;
button1.Location = new System.Drawing.Point ( 124 , 240 ) ;
button1.Name = "button1" ;
button1.TabIndex = 1 ;
button1.Text = "读取数据" ;
button1.Size = new System.Drawing.Size (84 , 24 ) ;
button1.Click += new System.EventHandler ( this.button1_Click ) ;
this.AutoScaleBaseSize = new System.Drawing.Size ( 6 , 14 ) ;
this.ClientSize = new System.Drawing.Size ( 400 , 280 ) ;
this.Controls.Add ( button1 ) ;
this.Controls.Add ( DataGrid1 ) ;
this.Name = "Form1" ;
this.Text = "读取Excle表格中的数据,并用DataGrid显示出来!" ;
this.ResumeLayout ( false ) ;
}
private void button1_Click ( object sender , System.EventArgs e )
{
DataGrid1.DataMember= "" ;
DataGrid1.DataSource = myDataSet ;
}
static void Main ( )
{
Application.Run ( new Form1 ( ) ) ;
}
}
下图是程序编译后,运行结果:
***隐藏网址***
图01:用Visual C#读取"c:\sample.xls"的运行界面
(4).总结:
以上只是读取了Excel表格中"Sheet1"中的数据,对于其他"Sheet"中的内容,可以参照读取"Sheet1"中的程序,只作一点修改就可以了,譬如要读取"Sheet2"中的内容,只需要把"Read.cs"程序中的"Sheet1$"改成"Sheet2$"就可以了。
三.Visual C#调用Excel表格,并在Excel表格中存储数据:
在Visual C#中调用Excel表格,并不像读取Excel表格中的数据那么容易了,因为在Visual C#中调用Excel表格要使用到Excel的COM组件。如果你安装Office套件在"C"盘,那么在"C:\Program Files\Microsoft Office\Office"可以找到这个COM组件"EXCEL9.OLB",在《Visual C#如何使用Active X组件》一文中,这些COM组件都是非受管代码的,要在Visual C#中使用这些非受管代码的COM组件,就必须把他们转换成受管代码的类库。所以在用Visual C#调用Excel表格之前,必须完成从COM组件的非受管代码到受管代码的类库的转换。
(1).非受管代码COM组件转换成受管代码的类库:
首先把COM组件"EXCEL9.OLB"拷贝到C盘的根目录下,然后输入下列命令:
tlbimp excel9.olb
这样在C盘的根目录下面就产生了三个DLL文件:"Excel.dll"、"Office.dll"、"VBIDE.dll"。在产生了上面的三个文件后,这种转换就成功完成了。在下面的程序中,就可以利用这转换好的三个类库编写和Excel表格相关的各种操作了。
(2).Visual C#打开Excel表格:
在"Excel.dll"中定义了一个命名空间"Excel",在差命名空间中封装了一个类"Application",这个类和启动Excel表格有非常重要的关系,在Visual C#中,只需要下列三行代码就可以完成打开Excel表格的工作,具体如下:
Excel.Application excel = new Excel.Application ( ) ;
excel.Application.Workbooks.Add ( true ) ;
excel.Visible = true ;
但此时的Excel表格是一个空的表格,没有任何内容,下面就来介绍如何往Excel表格中输入数据。
(3).往Excel表格中输入数据:
在命名空间"Excel"中,还定义了一个类"Cell",这个类所代表的就是Excel表格中的一个下单元。通过给差"Cell"赋值,从而实现往Excel表格中输入相应的数据,下列代码功能是打开Excel表格,并且往表格输入一些数据。
Excel.Application excel = new Excel.Application ( ) ;
excel.Application.Workbooks.Add ( true ) ;
excel.Cells = "第一行第一列" ;
excel.Cells = "第一行第二列" ;
excel.Cells = "第二行第一列" ;
excel.Cells = "第二行第二列" ;
excel.Cells = "第三行第一列" ;
excel.Cells = "第三行第二列" ;
excel.Visible = true ;
(4). Visual C#调用Excel表格,并在Excel表格中存储数据的程序代码(Excel.cs):
了解了上面的这些知识,得到完成上述功能的程序代码就显得比较容易了,具体如下:
using System ;
using System.Drawing ;
using System.Collections ;
using System.ComponentModel ;
using System.Windows.Forms ;
using System.Data ;
using System.Data.SqlClient ;
public class Form1 : Form
{
private Button button1 ;
private System.ComponentModel.Container components = null ;
public Form1 ( )
{
file://初始化窗体中的各个组件
InitializeComponent ( ) ;
}
file://清除程序中使用的各个资源
protected override void Dispose ( bool disposing )
{
if ( disposing )
{
if ( components != null )
{
components.Dispose ( ) ;
}
}
base.Dispose( disposing ) ;
}
private void InitializeComponent ( )
{
button1 = new Button ( ) ;
SuspendLayout ( ) ;
button1.Location = new System.Drawing.Point ( 32 , 72 ) ;
button1.Name = "button1" ;
button1.Size = new System.Drawing.Size ( 100 , 30 ) ;
button1.TabIndex = 0 ;
button1.Text = "调用Excel文件!" ;
button1.Click += new System.EventHandler ( button1_Click ) ;
AutoScaleBaseSize = new System.Drawing.Size ( 5 , 13 ) ;
this.ClientSize = new System.Drawing.Size ( 292 , 273 ) ;
this.Controls.Add ( button1 ) ;
this.Name = "Form1" ;
this.Text = "如何用Visual C#调用Excel表格!" ;
this.ResumeLayout ( false ) ;
}
static void Main ( )
{
Application.Run ( new Form1 ( ) ) ;
}
private void button1_Click ( object sender , System.EventArgs e )
{
Excel.Application excel = new Excel.Application ( ) ;
excel.Application.Workbooks.Add ( true ) ;
excel.Cells = "第一行第一列" ;
excel.Cells = "第一行第二列" ;
excel.Cells = "第二行第一列" ;
excel.Cells = "第二行第二列" ;
excel.Cells = "第三行第一列" ;
excel.Cells = "第三行第二列" ;
excel.Visible = true ;
}
}

跪求excel操作步骤

1.     将表中各字段名设置为黑体20磅,并在其单元格居中。

2.     求出各学生的总成绩,并用函数AVERAGE()计算每位学生的平均成绩,结果的数字格式为数值样式,并保留1位小数。

3.     在记录“赵丽”之后添加一条新记录,其姓名字段值为“汇总”,班级字段值为空,语文、数学、外语、总成绩的字段值分别为所有学生的语文、数学、外语、总成绩之和。

4.     利用外语成绩创建一个嵌入在G1:K8区域中的三维饼图,图标标题为“成绩比例”,图里为学生姓名并放置在左侧。

5.     在表Sheet1中,选“平均成绩”列数据,绘制各学生平均成绩的三维簇状柱形图。姓名为水平(分类)轴标签(C),不显示图例,图表标题为“平均成绩图”,嵌入在A18至F27区域中。

6.     将姓名、平均成绩两列复制到Sheet2的A列和B列起始处。

7.     在第一行前插入一行,并在第一个单元格中输入“学生基本情况表”,并将其在A1至E1单元格中跨列居中。

8.     在Sheet1中筛选出语文和数学成绩都大于85的同学。

9.     按班级字段分类统计,对姓名字段进行计数。

注意动图右下角的按键显示。

C#中使用excel类时需要添加什么命名空间

命名空腔基拿间“Microsoft”中不存在类型或命名空间名称“Office ”伍搭(是缺少程序集引用吗?)关键字: 命名空锋慎间 类型 命名空间 office 程序集引用 interop excel workbook worksheet 命名空间“Microsoft”中不存在类型或命名空间名称“Office ”

c#怎么引用excel为什么总提示命名空间“excel”中不存在类型或命名空间名称“Application”

这个需要添加一个命名空间:using namespace Microsoft::Office::Interop::Execl;并且还要在相应项目里添加对Microsoft.Office.Interop.Excel的引用

引用excel 11.0 object library组件之后要使用到那些命名空间——C++.net

从目前给的图来看,你的Application是同时存在于两个名称空间的,你需要确定是使用Window.Forms里的那个还是Excel组件里那个。这个不是使用using namespace能解决的,需要明确的在Application前面加上名称空间,就是把类名字写全了才行。

关于c excel操作在哪个命名空间到此分享完毕,希望能帮助到您。

c  excel操作在哪个命名空间(请问如何用C#读取/显示Excel)

本文编辑:admin

更多文章:


js代码炫酷特效模板(鼠标悬停特效代码怎么写,鼠标放在小图片上旁边显示一张大图片)

js代码炫酷特效模板(鼠标悬停特效代码怎么写,鼠标放在小图片上旁边显示一张大图片)

其实js代码炫酷特效模板的问题并不复杂,但是又很多的朋友都不太了解鼠标悬停特效代码怎么写,鼠标放在小图片上旁边显示一张大图片,因此呢,今天小编就来为大家分享js代码炫酷特效模板的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析

2026年5月14日 04:00

strutsprepareandexecutefilter(struts2原理)

strutsprepareandexecutefilter(struts2原理)

本篇文章给大家谈谈strutsprepareandexecutefilter,以及struts2原理对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录struts2原理java.lang.ClassCastException:

2026年4月13日 00:30

vb代码编写(VB编写个代码)

vb代码编写(VB编写个代码)

其实vb代码编写的问题并不复杂,但是又很多的朋友都不太了解VB编写个代码,因此呢,今天小编就来为大家分享vb代码编写的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录VB编写个代码怎样vb代码编写一个用星号组成的五

2025年6月27日 14:00

物流管理系统数据库设计文档(求基于C#的库存管理系统的设计与实现毕业设计论文)

物流管理系统数据库设计文档(求基于C#的库存管理系统的设计与实现毕业设计论文)

大家好,如果您还对物流管理系统数据库设计文档不太了解,没有关系,今天就由本站为大家分享物流管理系统数据库设计文档的知识,包括求基于C#的库存管理系统的设计与实现毕业设计论文的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本

2025年12月2日 13:30

linux的c语言程序设计(在Linux下用C语言编程)

linux的c语言程序设计(在Linux下用C语言编程)

大家好,关于linux的c语言程序设计很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于在Linux下用C语言编程的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

2025年11月13日 06:45

停止内耗是什么意思(拒绝内耗是什么意思)

停止内耗是什么意思(拒绝内耗是什么意思)

各位老铁们好,相信很多人对停止内耗是什么意思都不是特别的了解,因此呢,今天就来为大家分享下关于停止内耗是什么意思以及拒绝内耗是什么意思的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!本文目录拒绝内耗是什么意思停止内耗停止

2026年4月30日 02:45

down什么意思(down什么意思)

down什么意思(down什么意思)

本篇文章给大家谈谈down什么意思,以及down什么意思对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录down什么意思down什么意思do

2025年8月28日 17:00

executed alternatively(各位帅哥 靓妹 英文好的 江湖救急了  谢谢!!)

executed alternatively(各位帅哥 靓妹 英文好的 江湖救急了 谢谢!!)

这篇文章给大家聊聊关于executed alternatively,以及各位帅哥 靓妹 英文好的 江湖救急了 谢谢!!对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录各位帅哥 靓妹 英文好的 江湖救急了 谢谢!!怎么获取E

2026年4月4日 05:15

媒体查询响应式布局模板(7、响应式布局(媒体查询))

媒体查询响应式布局模板(7、响应式布局(媒体查询))

本篇文章给大家谈谈媒体查询响应式布局模板,以及7、响应式布局(媒体查询)对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录7、响应式布局(媒体

2026年1月3日 20:00

arraylist和array区别(ArraryList,Array string[]的差别是什么)

arraylist和array区别(ArraryList,Array string[]的差别是什么)

“arraylist和array区别”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看arraylist和array区别(ArraryList,Array string[]的差别是什么)!本文目录ArraryList,Arra

2026年1月4日 01:00

img文件用什么手机软件打开(手机image图片怎么打开)

img文件用什么手机软件打开(手机image图片怎么打开)

这篇文章给大家聊聊关于img文件用什么手机软件打开,以及手机image图片怎么打开对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录手机image图片怎么打开微信怎么打开img格式的图片.img文件怎么打开,,,用安卓手机img

2025年10月2日 01:00

reset sw不分方向(微星H55M-P32主板开启,重启,指示灯接口,应该如何插)

reset sw不分方向(微星H55M-P32主板开启,重启,指示灯接口,应该如何插)

各位老铁们好,相信很多人对reset sw不分方向都不是特别的了解,因此呢,今天就来为大家分享下关于reset sw不分方向以及微星H55M-P32主板开启,重启,指示灯接口,应该如何插的问题知识,还望可以帮助大家,解决大家的一些困惑,下面

2026年1月27日 04:45

黑莓开发者模式(黑莓KEY2 Lite 开发者选项怎么打开)

黑莓开发者模式(黑莓KEY2 Lite 开发者选项怎么打开)

大家好,如果您还对黑莓开发者模式不太了解,没有关系,今天就由本站为大家分享黑莓开发者模式的知识,包括黑莓KEY2 Lite 开发者选项怎么打开的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录黑莓KEY2 Lite

2025年6月23日 08:15

initialized翻译(帮我翻译英文)

initialized翻译(帮我翻译英文)

大家好,initialized翻译相信很多的网友都不是很明白,包括帮我翻译英文也是一样,不过没有关系,接下来就来为大家分享关于initialized翻译和帮我翻译英文的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!本文目

2025年6月7日 00:45

公司门户网站首页(网站建设中首页到底起到什么作用)

公司门户网站首页(网站建设中首页到底起到什么作用)

本篇文章给大家谈谈公司门户网站首页,以及网站建设中首页到底起到什么作用对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录网站建设中首页到底起到

2026年3月23日 17:30

网站有源码和没有源码的区别(网站的源码和源代码有区别吗)

网站有源码和没有源码的区别(网站的源码和源代码有区别吗)

“网站有源码和没有源码的区别”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看网站有源码和没有源码的区别(网站的源码和源代码有区别吗)!本文目录网站的源码和源代码有区别吗怎样查看网页代码,它与源代码的区别希望能看到你们精彩的回

2025年12月26日 19:00

profile 简历(002-理解什么是profile)

profile 简历(002-理解什么是profile)

本篇文章给大家谈谈profile 简历,以及002-理解什么是profile对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录002-理解什么是profile英语个人简历模板3篇linkedin profile是什么意思如何写一

2025年8月4日 21:15

in length的用法(新概念英语第2册Lesson90~92重点句型及语法)

in length的用法(新概念英语第2册Lesson90~92重点句型及语法)

“in length的用法”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看in length的用法(新概念英语第2册Lesson90~92重点句型及语法)!本文目录新概念英语第2册Lesson90~92重点句型及语法边长的英

2026年4月9日 10:45

webpack缺点(如何理解webpack文档中对AMD缺点的描述)

webpack缺点(如何理解webpack文档中对AMD缺点的描述)

大家好,如果您还对webpack缺点不太了解,没有关系,今天就由本站为大家分享webpack缺点的知识,包括如何理解webpack文档中对AMD缺点的描述的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录如何理解we

2026年9月10日 12:30

corresponding author和第一作者(corresponding author必须是第一作者吗)

corresponding author和第一作者(corresponding author必须是第一作者吗)

“corresponding author和第一作者”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看corresponding author和第一作者(corresponding author必须是第一作者吗)!本文目录co

2026年5月12日 05:30

近期文章

本站热文

electronics软件(labcenter electronics是什么软件)
2025-05-22 23:45:02 浏览:134
博客是微博吗(博客是微博吗)
2025-05-22 22:45:01 浏览:111
diversity and distribution(悬赏英语短文)
2025-05-23 16:15:02 浏览:107
ios软件开发前景(iOS就业前景怎么样)
2025-05-22 23:00:01 浏览:102
next month(有The next month这个单词吗,和 next month有什么区别)
2025-05-23 02:30:01 浏览:102
patron(patron是什么意思)
2025-05-23 10:30:02 浏览:95
标签列表

热门搜索