asp.net导出数据到Excel的几种方法(2/3)

原创 2008年04月02日 15:47:00

     继续前文,第二种方法是利用Excel的Com接口库来完成,这种方法的优点是功能强大,可像使用Excel程序一样来操作Excel文件,缺点是需要服务器安装Excel程序,且需要一定的安全配置。

一、准备工作:

1)安装Microsoft Excel

2)Com的安全设置。

   在命令行输入DCOMCNFG ,进入组件服务设置界面,如图:

打到Micorosoft Excel应用程序,如图:

右键点击属性,然后点击“安全”,将“启动和激活权限”、“访问权限”、“配置权限”都选择自定义,然后添加运行ASP.NET的用户(IIS6以上是NETWORK SERVICE以下是ASPNET),给予全部权限,如图所示:

3)配置文件目录权限,因为可能要保存文件到某目录中,所以要将该目录对ASP.NET用户予以写入权限。

 

二、使用

在VS.NET的工程中添加引用,如图:

 

如果添加引用后Excel组件不能正常使用(excel组件的左边显示一个黄色的感叹号),可以使用.Net工具进行组件转换。

转换方法,运行vs.net的命令行工具,进入Office目录,输入TlbImp Excel.exe即可,然后删除有问题的引用重新添加引用,这次使用浏览,然后引用Excel.DLL。

根据我的经验,vs2003可以直接引用Microsoft  Excel x.0 ObjectLibary,而vs2005就需要使用工具转换成DLL才可使用。

然后即可以使用Excel.Application对象来操作它了。

以下就一段简单的将GirdView的数据导出到Excel的代码,功能较简单,权当抛砖引玉了。

 

  this.GridView1.DataBind();



            Excel.ApplicationClass oExcel 
= new Excel.ApplicationClass();
            
object oMissing  = System.Reflection.Missing.Value;
            
            oExcel.Workbooks.Add(oMissing);
            Excel.Workbook oBook 
= oExcel.Workbooks[1];
            Excel.Worksheet oSheet 
= (Excel.Worksheet)oBook.Sheets[1];
            oSheet.Name 
= this.Title;
           
            Excel.Range rg;

            
for (int j = 0; j < this.GridView1.HeaderRow.Cells.Count; j++)
            
...{
                rg 
= ((Excel.Range)oSheet.Cells[ 1, j + 1]);
                rg.FormulaR1C1 
= this.GridView1.HeaderRow.Cells[j].Text;
            }


            
for(int i = 0;i<this.GridView1.Rows.Count;i++)
            
...{
                
for (int j = 0; j < this.GridView1.Rows[0].Cells.Count; j++)
                
...{
                    rg 
= ((Excel.Range)oSheet.Cells[i + 2, j+1]);
                    rg.FormulaR1C1 
= this.GridView1.Rows[i].Cells[j].Text;
                }

            }

            rg 
= null;

            
string VirFileName = Guid.NewGuid().ToString() + ".xls";
            oBook.SaveAs(Server.MapPath(VirFileName), Excel.XlFileFormat.xlExcel9795, oMissing, oMissing, oMissing, oMissing, Excel.XlSaveAsAccessMode.xlExclusive,
                oMissing, oMissing, oMissing, oMissing, oMissing);
            oExcel.Workbooks.Close();
            oExcel.Quit();
           
            oSheet 
= null;
            oBook 
= null;
            oExcel 
= null;

            GC.Collect();

            Response.Redirect(VirFileName);

 

说明一下:为了Excel进程在使用完成后能彻底退出,需要将所有对象在使用完成后清空,像代码中的rg,oSheet,oBook,oExcel等。

ASP.NET 数据导出到excel文件 浏览器客户端下载的几种方法

ASP.NET 数据导出到excel文件给客户端下载的几种方法 (2007-04-13 10:27:20)     分类:C#/ASP.NET学习笔记  数据导出到excel文件给客户端下...

Asp.Net表格导出Excel的几种方法

1、Html导出Excel的方法:    1.1、前台代码:         .ExportTable{    border-top:.1pt solid #000000;    border-rig...

asp.net导出数据到Excel的三种方法

asp.net导出到Excel也是个老生常谈的问题,在此归纳一下。 第一种是比较常用的方法。是利用控件的RenderControl功能,得到该控件生成的HTML,然后以Excel文件的类型输出到客户...

对.NET中导出数据到EXCEL的几种方法探讨 C1TrueDBGrid

分类: 日本.NET項目常用 2007-09-10 14:02 1096人阅读 评论(2) 收藏 举报 最近在做一个报表系统的时候,需要把DATASET中的数据导到EXCEL当...

[转]asp.net导出数据到Excel的三种方法

原文出处:asp.net导出数据到Excel的几种方法(1/3) 、asp.net导出数据到Excel的几种方法(2/3)、asp.net导出数据到Excel的几种方法(3/3)  asp.ne...

asp.net导出数据到Excel的三种方法

Asp.net导出到Excel也是个老生常谈的问题,在此归纳一下。 第一种是比较常用的方法。是利用控件的RenderControl功能,得到该控件生成的HTML,然后以Excel文件的类型输...

Asp.Net操作Excel的几种方法

我们在做excel资料的时候,通常有以下方法。 一.导入导出excel常用方法: 1.用查询表的方式查询并show在数据集控件上。 代码 public static s...

Asp.Net操作Excel的几种方法

ASP.NET读取Excel文件方法一:采用OleDB读取Excel文件: 把Excel文件当做一个数据源来进行数据的读取操作,实例如下: public DataSet Excel...

asp.net中导出到Excel的方法汇总及导出Excel/Csv格式数据最优方案(C#)

一、asp.net中导出Execl的方法: 在asp.net中导出Execl有两种方法,一种是将导出的文件存放在服务器某个文件夹下面,然后将文件地址输出在浏览器上;一种是将文件直接将文件输出流写...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:asp.net导出数据到Excel的几种方法(2/3)
举报原因:
原因补充:

(最多只允许输入30个字)