手机
当前位置:查字典教程网 >编程开发 >asp.net教程 >asp.net(C#)操作excel(上路篇)
asp.net(C#)操作excel(上路篇)
摘要:1.作业环境开发环境:vs2005/vs2008数据库:sql2005excel:2003首先在vs加入com組件(当然也可以加入.net下...

1.作业环境

开发环境:vs2005 /vs2008

数据库:sql2005

excel:2003 首先 在vs加入com組件(当然也可以加入.net下的excel组件):

asp.net(C#)操作excel(上路篇)1 之后vs引用子目录会多出下面三个dll:

asp.net(C#)操作excel(上路篇)2 简单操作流程如下:

复制代码 代码如下:

using Excel;

// from bill example

public void writeExcelAdvance(String outputFile)

{

string[,] myData =

{

{ "车牌号", "类型", "品 牌", "型 号", "颜 色", "附加费证号", "车架号" },

{ "浙KA3676", "危险品", "货车", "铁风SZG9220YY", "白", "1110708900", "022836" },

{ "浙KA4109", "危险品", "货车", "解放CA4110P1K2", "白", "223132", "010898" },

{ "浙KA0001A", "危险品", "货车", "南明LSY9190WS", "白", "1110205458", "0474636" },

{ "浙KA0493", "上普货", "货车", "解放LSY9190WS", "白", "1110255971", "0094327" },

{ "浙KA1045", "普货", "货车", "解放LSY9171WCD", "蓝", "1110391226", "0516003" },

{ "浙KA1313", "普货", "货车", "解放9190WCD", "蓝", "1110315027", "0538701" },

{ "浙KA1322", "普货", "货车", "解放LSY9190WS", "蓝", "24323332", "0538716" },

{ "浙KA1575", "普货", "货车", "解放LSY9181WCD", "蓝", "1110314149", "0113018" },

{ "浙KA1925", "普货", "货车", "解放LSY9220WCD", "蓝", "1110390626", "00268729" },

{ "浙KA2258", "普货", "货车", "解放LSY9220WSP", "蓝", "111048152", "00320" }

};

//引用Excel Application类别

Application myExcel = null;

//引用活页簿类别

Workbook myBook = null;

//引用工作表类别

Worksheet mySheet = null;

//引用Range类别

Range myRange = null;

//开启一个新的应用程式

myExcel = new Microsoft.Office.Interop.Excel.Application();

//打开一个已经存在的excel excel2003和2007版打开参数不一样,具体可以上网上去查:

//excelSql.Workbooks.Open(@"C:8.xls"(已经存在的excel路径), Type.Missing, Type.Missing, Type.Missing, Type.Missing,

//Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,Type.Missing,Type.Missing);

//加入新的活页簿

myExcel.Workbooks.Add(true);

//停用警告讯息

myExcel.DisplayAlerts = false;

//让Excel文件可见

myExcel.Visible = true;

//引用第一个活页簿

myBook = myExcel.Workbooks[1];

//设定活页簿焦点

myBook.Activate();

//引用第一个工作表

mySheet = (Worksheet)myBook.Worksheets[1];

//命名工作表的名称为 "Array"

mySheet.Name = "Cells";

//设工作表焦点

mySheet.Activate();

int a = 0;

int UpBound1 = myData.GetUpperBound(0);

//二维阵列数上限

int UpBound2 = myData.GetUpperBound(1);

//二维阵列数上限

//写入报表名称

myExcel.Cells[1, 4] = "普通报表";

//以下的Select方法可省略,加速Excel运行,但VBA有些功能必须要用到Select方法。

//以下的Select方法可省略,加速Excel运行,但VBA有些功能必须要用到Select方法。

//逐行写入数据

for (int i = 0; i < UpBound1; i++)

{

for (int j = 0; j < UpBound2; j++)

{

//以单引号开头,表示该单元格为纯文字

a++;

//用offset写入阵列资料

myRange = mySheet.get_Range("A2", Type.Missing);

myRange.get_Offset(i, j).Select();

myRange.Value2 = "'" + myData[i, j];

//用Cells写入阵列资料

myRange.get_Range(myExcel.Cells[2 + i, 1 + j], myExcel.Cells[2 + i, 1 + j]).Select();

myExcel.Cells[2 + i, 1 + j] = "'" + myData[i, j];

}

}

//加入新的工作表在第1张工作表之后

myBook.Sheets.Add(Type.Missing, myBook.Worksheets[1], 1, Type.Missing);

//引用第2个工作表

mySheet = (Worksheet)myBook.Worksheets[2];

//命名工作表的名称为 "Array"

mySheet.Name = "Array";

//Console.WriteLine(mySheet.Name);

//写入报表名称

myExcel.Cells[1, 4] = "普通报表";

//设定范围

myRange = (Range)mySheet.get_Range(myExcel.Cells[2, 1], myExcel.Cells[UpBound1 + 1, UpBound2 + 1]);

myRange.Select();

//用阵列一次写入资料

myRange.Value2 = "'" + myData;

//设定储存路径

//string PathFile = Directory.GetCurrentDirectory() + @"button4.xls";

//另存活页簿

myBook.SaveAs(outputFile, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing

, XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);

//关闭活页簿

myBook.Close(false, Type.Missing, Type.Missing);

//关闭Excel

myExcel.Quit();

//释放Excel资源

System.Runtime.InteropServices.Marshal.ReleaseComObject(myExcel);

myBook = null;

mySheet = null;

myRange = null;

myExcel = null;

GC.Collect();

【asp.net(C#)操作excel(上路篇)】相关文章:

asp.net转出json格式客户端显示时间

asp.net cookie清除的代码

asp.net(c#)复数类(复数加减乘除四则运算)

asp.net图片上传实例

Asp.net(C#)文件操作函数大全

在Asp.net用C#建立动态Excel

asp.net(c#)下Jmai去说明 使用与下载

asp.net(c#) 水仙花数

在asp.net中操作sql server数据库的一些小技巧

asp.net(C#) Xml操作(增删改查)练习

精品推荐
分类导航