Asp.net中操作EXCEL文件(C#)
2006-03-07 16:54
375 查看
一、环境设置
1.服务器端必须安装EXCEL
2.所有Excel的程序操作都来源于Excel的对象库Excel9.olb.使用Tlbimp这个工具将Excel9.0的对象库文件Excel9.olb转换成为dll,这样才能做为.Net平台Assembly来使用:
TlbImp Excel9.olb
这样会得到3个文件"Excel.dll"、"Office.dll"、"VBIDE.dll"
只要有了这个Excel.dll,现在我们就能使用Excel的各种操作函数了
3.服务器端的权限设置
服务器端必须要设置的一点是COM组件的操作权限。在命令行键入“DCOMCNFG”,则进入COM组件配置界面,选择Microsoft Excel后点击属性,将三个单选项一律选择自定义,编辑中将Everyone加入所有权限。在“标识”中设置为交互式用户,保存完毕后重新启动服务器。
***如果不设置交互式用户,EXCEL进程如果停留在内存中,你是无法结束进程的
二、操作EXCEL文件
1.在项目中添加引用,用TlbImp会得到3个文件,在项目中全部引用
2.操作EXCEL的时要用到几个对象,Application,Workbook,WorkSheet,Range
操作EXCEL首先要建立一个Application对象,然后再得到Application对象的WorkBooks对象,使用WorkBooks对象打开一个EXCEL文件就得到一个WorkBook对象,由WorkBook对象得到WorkSheet对象,基本上有了WorkSheet对象就可以操作EXCEL了,在下面的例子中就没有用到RANGE:
例程:
Excel.ApplicationClass excelApp=null;
Excel.Workbooks exBooks=null;
Excel._Workbook exBook=null;
Excel._Worksheet exSheet=null;
object mo=System.Reflection.Missing.Value;
try
{
excelApp=new Excel.ApplicationClass();
exBooks=excelApp.Workbooks;
exBook=exBooks.Open("d://sample.xls",mo,mo,mo,mo,mo,mo,mo,mo,mo,mo,mo,mo);
exSheet = (Excel._Worksheet)exBook.Worksheets["Sheet1"];//Sheet1为你工作表的名称,也可以是数字,那就是你工作表的序号
exSheet.Cells[i,j]="***";//通过这种方式向EXCEL表格中写入数据,写入第i行的第j列
}
catch(Exception ex)
{
Response.Write(ex.Message);
Response.End();
}
finally
{
exBook.Save();
exBook.Close(true,mo,mo);
exBooks.Close();
System.Runtime.InteropServices.Marshal.ReleaseComObject(exSheet);
System.Runtime.InteropServices.Marshal.ReleaseComObject(exBook);
System.Runtime.InteropServices.Marshal.ReleaseComObject(exBooks);
exBooks=null;
exBook = null;
exSheet = null;
excelApp.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(excelApp);
excelApp = null;
GC.Collect();
}
然后保存,后面的代码全是为了释放资源的,因为此方法操作EXCEL有个问题,就是EXCEL经常会不能正常关闭,我使用上面的方法,有时能够关闭,有时内存中会有一个EXCEL运行,但不会有多个
1.服务器端必须安装EXCEL
2.所有Excel的程序操作都来源于Excel的对象库Excel9.olb.使用Tlbimp这个工具将Excel9.0的对象库文件Excel9.olb转换成为dll,这样才能做为.Net平台Assembly来使用:
TlbImp Excel9.olb
这样会得到3个文件"Excel.dll"、"Office.dll"、"VBIDE.dll"
只要有了这个Excel.dll,现在我们就能使用Excel的各种操作函数了
3.服务器端的权限设置
服务器端必须要设置的一点是COM组件的操作权限。在命令行键入“DCOMCNFG”,则进入COM组件配置界面,选择Microsoft Excel后点击属性,将三个单选项一律选择自定义,编辑中将Everyone加入所有权限。在“标识”中设置为交互式用户,保存完毕后重新启动服务器。
***如果不设置交互式用户,EXCEL进程如果停留在内存中,你是无法结束进程的
二、操作EXCEL文件
1.在项目中添加引用,用TlbImp会得到3个文件,在项目中全部引用
2.操作EXCEL的时要用到几个对象,Application,Workbook,WorkSheet,Range
操作EXCEL首先要建立一个Application对象,然后再得到Application对象的WorkBooks对象,使用WorkBooks对象打开一个EXCEL文件就得到一个WorkBook对象,由WorkBook对象得到WorkSheet对象,基本上有了WorkSheet对象就可以操作EXCEL了,在下面的例子中就没有用到RANGE:
例程:
Excel.ApplicationClass excelApp=null;
Excel.Workbooks exBooks=null;
Excel._Workbook exBook=null;
Excel._Worksheet exSheet=null;
object mo=System.Reflection.Missing.Value;
try
{
excelApp=new Excel.ApplicationClass();
exBooks=excelApp.Workbooks;
exBook=exBooks.Open("d://sample.xls",mo,mo,mo,mo,mo,mo,mo,mo,mo,mo,mo,mo);
exSheet = (Excel._Worksheet)exBook.Worksheets["Sheet1"];//Sheet1为你工作表的名称,也可以是数字,那就是你工作表的序号
exSheet.Cells[i,j]="***";//通过这种方式向EXCEL表格中写入数据,写入第i行的第j列
}
catch(Exception ex)
{
Response.Write(ex.Message);
Response.End();
}
finally
{
exBook.Save();
exBook.Close(true,mo,mo);
exBooks.Close();
System.Runtime.InteropServices.Marshal.ReleaseComObject(exSheet);
System.Runtime.InteropServices.Marshal.ReleaseComObject(exBook);
System.Runtime.InteropServices.Marshal.ReleaseComObject(exBooks);
exBooks=null;
exBook = null;
exSheet = null;
excelApp.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(excelApp);
excelApp = null;
GC.Collect();
}
然后保存,后面的代码全是为了释放资源的,因为此方法操作EXCEL有个问题,就是EXCEL经常会不能正常关闭,我使用上面的方法,有时能够关闭,有时内存中会有一个EXCEL运行,但不会有多个
相关文章推荐
- Asp.net/c# OleDb操作excel文件
- Asp.net/c#+OleDb操作excel文件
- Asp.net/c#+OleDb操作excel文件
- 用C#生成Excel文件的方法,Excel.dll组件生成的方法和设置用ASP.NET操作访问权限
- C#中Bitmap类实现对图像操作的一些方法(Asp.net(C#)-放大缩小图片尺寸)
- 在ASP.NET访问Excel文件 (VB and C#)
- C#/ASP.NET应用程序配置文件app.config/web.config的增、删、改操作
- 【商业版、提供全部源码】基于RBAC的C#ASP.NET支持多用户的通用权限管理系统高质量源码10月份销售20套【提供操作手册设计文档下载】
- C#/ASP.NET应用程序配置文件app.config/web.config的增、删、改操作
- asp.net(C#)之NPOI"操作Excel
- C#操作压缩文件(rar,zip,gzip,winform/asp.net)
- asp.net(C#)文件操作
- ASP.NET(c#)操作cookie、session、cache工具类
- asp.net c#中FCKeditor的详细配置及精简操作
- asp.net(c#)有关 Session 操作的几个误区
- asp.net c#中对cookie的操作
- asp.net(c#)操作iis全功能版系统(08年3月5日正式发布升级版本)
- ASP.NET和C#中对XML的操作,以及简单的xml与xsl !
- ASP.NET(C#)连接数据库和操作数据库
- C# asp.net操作文件