使用C#对Excel文档的相关操作 .

 

1.首先需要引入Excel的Com组件,Microsoft Excel 11.0 Object Library 1.5(该组件版本为office2003)

添加该引用后在解决方案的引用文件夹里会有Excel和Microsoft.Office.Core两个引用。

2.我们要对Excel文档进行操作首先需要对Excel文档的结构有一个了解。一个Excel文档包含若干个sheet,每个sheet里又有若干个单元格。也就是说Excel文档是一个三层结构的实体:book文档对象àsheet对象à单元格对象。

在C#里相应的提供了这三个对象的操作类

ApplicationClass==Excel操作对象

ApplicationClass ExcelApp = null;定义了一个Excel操作对象,与具体文档无关

_Workbook == book对象

_Workbook wBook = null;定义了一个book对象

_Workbook  sheet = null;定义了一个sheet对象

Microsoft.Office.Interop.Excel.Range == 单元格对象(Renge提供了一组对单元格的操作接口)

Microsoft.Office.Interop.Excel.Range rangeSheet = null;定义了一个单元格操作对象。

明白了Excel的结构和C#中提供的对应的操作类或接口,对我们理解用程序实现Excel的各种操作很有帮助。至少当需要在Excel的哪个级别上操作时,你知道该在哪个类里去找相应的方法。

3.C#对Excel文档操作的函数及功能

ExcelApp = new ApplicationClass();实例化一个Excel操作对象

ExcelApp.Visible = false;让其不可见(一般在写的时候设置这个属性,写完后更改为true就可以展现在用户面前)

wBook = ExcelApp.Workbooks._Open(modelPath, Type.Missing, Type.Missing, Type.Missing, Type.Missing,Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);用Excel操作对象去打开一个Excel文档实体(wBook)这里主要一个参数就是modelPath表示文档所在路径

_Workbook  sheet1 = (Worksheet)wBook.Sheets[1];获得wBook里的第一个sheet

 

rangeSheet=sheet1.get_Range(sheet1.Cells[rowIndex,colIndex],sheet1.Cells[rowIndex,colIndex]);sheet通过调用get_Range函数获得单元格的选定范围,它是对Excel操作最主要的一个对象,因为我们对Excel的操作实际上就是对单元格的操作。所以获得了操作单元格对象就可以实现我们想要的任何操作比如

rangeSheet.Merge(this. rangeSheet.MergeCells);如果不是对一个单元格操作,即单元格的选定的是一个范围,可以用此函数实现合并单元格

rangeSheet.HorizontalAlignment=Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignLeft;设置单元格内容的对齐方式

rangeSheet.Value2通过Value2属性给选定的单元格赋值

rangeSheet.Font.Name = "宋体";字体的设置

rangeSheet.Font.Size = 10;字体大小

rangeSheet.Font.Bold = true;字体加粗

 

 

//绘制所选单元格范围内的线条类型,3为虚线,1为实线

RangeSheet.Borders.LineStyle = 3;

//绘制所选单元格范围内上下左右边框为连续的实线

RangeSheet.Borders.get_Item(XlBordersIndex.xlEdgeTop).LineStyle = Microsoft.Office.Interop.Excel.XlLineStyle.xlContinuous;

RangeSheet.Borders.get_Item(XlBordersIndex.xlEdgeBottom).LineStyle = Microsoft.Office.Interop.Excel.XlLineStyle.xlContinuous;

RangeSheet.Borders.get_Item(XlBordersIndex.xlEdgeRight).LineStyle = Microsoft.Office.Interop.Excel.XlLineStyle.xlContinuous;

RangeSheet.Borders.get_Item(XlBordersIndex.xlEdgeLeft).LineStyle = Microsoft.Office.Interop.Excel.XlLineStyle.xlContinuous; 

//选定范围内的对齐方式

RangeSheet.HorizontalAlignment = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignCenter;

 

以下是网上找到一些关于excel操作的资源可通过链接查看http://www.soaspx.com/dotnet/csharp/csharp_20091125_1762.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值