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

本文目录
- 请问如何用C#读取/显示Excel
- 跪求excel操作步骤
- C#中使用excel类时需要添加什么命名空间
- c#怎么引用excel为什么总提示命名空间“excel”中不存在类型或命名空间名称“Application”
- 引用excel 11.0 object library组件之后要使用到那些命名空间——C++.net
请问如何用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前面加上名称空间,就是把类名字写全了才行。

更多文章:
js代码炫酷特效模板(鼠标悬停特效代码怎么写,鼠标放在小图片上旁边显示一张大图片)
2026年5月14日 04:00
strutsprepareandexecutefilter(struts2原理)
2026年4月13日 00:30
物流管理系统数据库设计文档(求基于C#的库存管理系统的设计与实现毕业设计论文)
2025年12月2日 13:30
executed alternatively(各位帅哥 靓妹 英文好的 江湖救急了 谢谢!!)
2026年4月4日 05:15
arraylist和array区别(ArraryList,Array string[]的差别是什么)
2026年1月4日 01:00
reset sw不分方向(微星H55M-P32主板开启,重启,指示灯接口,应该如何插)
2026年1月27日 04:45
黑莓开发者模式(黑莓KEY2 Lite 开发者选项怎么打开)
2025年6月23日 08:15
in length的用法(新概念英语第2册Lesson90~92重点句型及语法)
2026年4月9日 10:45
webpack缺点(如何理解webpack文档中对AMD缺点的描述)
2026年9月10日 12:30
corresponding author和第一作者(corresponding author必须是第一作者吗)
2026年5月12日 05:30









