当前位置: 首页 > 图文教程 > .Net技术 > ASP.NET > 用.NET 操作Excel编程

ASP.NET
浅谈如何在ASP.NET中了解LINQ语句性能
MRS实现和扩展一个Service Contract
ASP.NET:ASP.NET创建Web服务之声明XML Web服务
ASP.NET:asp.net中常用的一些小技巧
ASP.NET:ASP.NET 数据库缓存依赖
ASP.NET:.NET监控技术应用与分析
Asp.net:Asp.net多语言
ASP.NET:asp.net中接口和抽象类及区别概述
ASP.NET:小编谈理解.NET委托和事件
ASP.NET:小编浅谈asp.net(500) 内部服务器错误解决方法
ASP.NET:C#.Net程序开发中的Socket介绍
ASP.NET:小编浅述面向接口的编程
ASP.NET:.Net参数基础论
ASP.NET:小议枚举类型
ASP.NET:小编浅谈.NET多态中的重写与重载
ASP.NET:浅谈.NET垃圾回收机制(GC)
ASP.NET:ASP.NET中把彩色图片变成黑白图片
ASP.NET:ASP.NET中配置文件的加密与解密
ASP.NET:ASP.NET实现用户第二次访问网站不用提交信息
ASP.NET:ASP.NET利用Cookie处理网上重复投票

ASP.NET 中的 用.NET 操作Excel编程


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 191 ::
收藏到网摘: n/a

引用:D:\Program Files\Microsoft Office\Office\EXCEL9.OLB

1. 创建一个新Excel的Application: 

Application exc = new Application();
if (exc == null) {
Console.WriteLine("ERROR: EXCEL couldn't be started");
return 0;
}


2. 让这个工程可见: 

exc.set_Visible(0, true); 

3. 获取WorkBooks集合: 

Workbooks workbooks = exc.Workbooks; 

4. 加入新的WorkBook: 

_Workbook workbook = workbooks.Add(XlWBATemplate.xlWBATWorksheet, 0); 

5. 获取WorkSheets集合: 


_Worksheet worksheet = (_Worksheet) sheets.get_Item(1);
if (worksheet == null) {
Console.WriteLine ("ERROR in worksheet == null");
}

6. 给单元格设置变量: 


Range range1 = worksheet.get_Range("C1", Missing.Value);
if (range1 == null) {
Console.WriteLine ("ERROR: range == null");
}
const int nCells = 1;
Object[] args1 = new Object[1];
args1[0] = nCells;
range1.GetType().InvokeMember("Value", BindingFlags.SetProperty, null, range1, args1);


例程: 


using System;
using System.Reflection; 
using System.Runtime.InteropServices; 
using Excel;

class Excel {
public static int Main() {
Application exc = new Application();
if (exc == null) {
Console.WriteLine("ERROR: EXCEL couldn't be started!");
return 0;
}

exc.set_Visible(0, true); 
Workbooks workbooks = exc.Workbooks;
_Workbook workbook = workbooks.Add(XlWBATemplate.xlWBATWorksheet, 0); 
Sheets sheets = workbook.Worksheets;

_Worksheet worksheet = (_Worksheet) sheets.get_Item(1);
if (worksheet == null) {
Console.WriteLine ("ERROR: worksheet == null");
}

Range range1 = worksheet.get_Range("C1", Missing.Value);
if (range1 == null) {
Console.WriteLine ("ERROR: range == null");
}
const int nCells = 1;
Object[] args1 = new Object[1];
args1[0] = nCells;
range1.GetType().InvokeMember("Value", BindingFlags.SetProperty, null,range1, args1);
return 100;
}
}

现在我们来看看如何使用数组,他有些类似于设置单元格。仅仅需要的改变只是args2[0] = array2; 
const int nCell = 5;
Range range2 = worksheet.get_Range("A1", "E1");
int[] array2 = new int [nCell];
for (int i=0; i < array2.GetLength(0); i++) {
array2[i] = i+1;
}
Object[] args2 = new Object[1];
args2[0] = array2;
range2.GetType().InvokeMember("Value", BindingFlags.SetProperty, null, range2, args2);