asp.net c#生成excel文件方法

asp教程.net c#生成excel文件方法

Handler.ashx:生成动态Excel文件

public class Handler : IHttpHandler {
    public void ProcessRequest (HttpContext context) {
        context.Response.ContentType = "application/octet-stream";
        string filename = HttpUtility.UrlEncode("动态生成.xls");
        context.Response.AddHeader("Content-disposition",string.Format("attachment:filename={0}",filename));

       //谁能帮我解释一下上面加粗的这句代码,功能我知道,但需要详细一点的解释,先谢谢哈

    }
    public bool IsReusable {
        get {
            return false;
        }
    }
}

最后选择了使用OFFICE 的Excel 自动化服务来生成Excel文件的办法,也就是使用Excel提供的Com对象。
具体的代码如下:
public static void CreateExcel()
  {
   for(int i = 0 ; i<1 ; i++)
   {
    string staFile = "D:testx";
    System.Reflection.Missing miss = System.Reflection.Missing.Value;
    Excel.ApplicationClass m_objExcel = new Excel.ApplicationClass();
    m_objExcel.Visible = false;
    Excel.Workbooks m_objBooks = (Excel.Workbooks)m_objExcel.Workbooks;
    Excel.Workbook m_objBook = (Excel.Workbook)(m_objBooks.Add(miss));
    Excel.Worksheet m_objSheet = (Excel.Worksheet)m_objBook.ActiveSheet;
    
    //向Excel文件中写入数据
    Excel.Range er = m_objSheet.get_Range((object)"A1",System.Reflection.Missing.Value);
    er.Value2 = "dfadfa";
    m_objBook.SaveAs(staFile+i.ToString()+".xls", miss, miss, miss, miss,miss, Excel.XlSaveAsAccessMode.xlNoChange, miss,miss,miss, miss, miss);
    
    m_objBook.Close(false, miss, miss);
    m_objBooks.Close();
    m_objExcel.Quit();
    System.Runtime.InteropServices.Marshal.ReleaseComObject(er);
    System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objSheet);
    System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objBook);
    System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objBooks);
    System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objExcel);
    GC.Collect();
   }
  }
在网上也看到过类似的办法,但是他们都存在着一个使用完Excel后无法释放的问题;在我经过研究后发现在使用Com对象的时候一定要把每一个建立的实例对象都释放掉,也就是代码中红色的部分。

时间: 2024-09-15 10:28:51

asp.net c#生成excel文件方法的相关文章

asp将table生成excel文件(xls)_应用技巧

复制代码 代码如下: <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <% if request("action")=1 then Response.ContentType="application/ms-excel" Response.AddHeader "content-disposition","attachment;filename=www

asp将table生成excel文件(xls)

复制代码 代码如下: <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <% if request("action")=1 then Response.ContentType="application/ms-excel" Response.AddHeader "content-disposition","attachment;filename=www

python通过openpyxl生成Excel文件的方法

  本文实例讲述了python通过openpyxl生成Excel文件的方法.分享给大家供大家参考.具体如下: 使用前请先安装openpyxl: ? 1 easy_install openpyxl 通过这个模块可以很方便的导出数据到Excel ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 from op

Asp.net生成Excel文件并下载(更新:解决使用迅雷下载页面而不是文件的问题)_实用技巧

这里采用的是在服务端先生成Excel文件,然后利用文件地址下载的方法. 生成Excel文件的方法,见:[原].Net创建Excel文件(插入数据.修改格式.生成图表)的方法 先试用Response.WriteFile的方法: 复制代码 代码如下: FileInfo fi = new FileInfo(excelFile);//excelFile为文件在服务器上的地址 HttpResponse contextResponse = HttpContext.Current.Response; cont

asp.net简单生成XML文件的方法_实用技巧

本文实例讲述了asp.net简单生成XML文件的方法.分享给大家供大家参考,具体如下: 方式一:直接使用DataSet SqlConnection conn = new SqlConnection(); conn.ConnectionString = "Server=127.0.0.1;User ID=sa;Password=sa;Database=northwind;Persist Security Info=True"; conn.Open(); SqlDataAdapter da

Windows中使用Java生成Excel文件并插入图片的方法_java

生成简单的Excel文件 在现实的办公中,我们常常会有这样一个要求:要求把报表直接用excel打开.在实习中有这样一个需求.根据所选择的资源查询用户所提供附件的全部信息并生成excel供下载.但是在查询的时候我们需要来检测用户所提供的附件里面的信息是否有错误(身份证).有错误的生成错误信息excel.      Apache的POI项目,是目前比较成熟的HSSF接口,用来处理Excel对象.其实POI不仅仅只能处理excel,它还可以处理word.PowerPoint.Visio.甚至Outlo

php生成excel文件的简单方法

 生成excel文件,最简单的莫过于把数据库的数据导入到excel就行了,下面有个不错的示例,大家可以参考下 生成excel 当然使用的是 phpExcel这个类库了,可是它太麻烦了,对于只要简单生成来说有点不值得    什么叫简单,把数据库的数据导入到excel就行了, 这个就是简单了    下面看一段代码(代码来自网络)    注意要双引号的字符串   代码如下: <?php  header("Content-type:application/vnd.ms-excel"); 

asp连接与操作excel的方法

excel文件也可以作为数据库使用,当然前提是它的内容要满足一定的规范,简单的做法是可以从数据库文件导出为excel文件. 1.连接字符数 有两种方式,ODBC provider和OLEDB provider (1)ODBC dim conn set conn=server.createobject("adodb.connection") conn.open "Driver={Microsoft Excel Driver (*.xls)};DBQ=" & s

php,不用COM,生成excel文件

excel|生成excel 用php生成excel文件   <?header("Content-type:application/vnd.ms-excel");header("Content-Disposition:filename=test.xls");echo "test1\t";echo "test2\t\n";echo "test1\t";echo "test2\t\n";