asp.net里导出excel表方法汇总

2009-05-12 22:23:30来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

1、由dataset生成

以下为引用的内容:

public void CreateExcel(DataSet ds,string typeid,string FileName)

   {

   HttpResponse resp;

   resp = Page.Response;

   resp.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");

   resp.AppendHeader("Content-Disposition", "attachment;filename=" + FileName);  

   string colHeaders= "", ls_item="";

   int i=0;

   //定义表对象与行对像,同时用DataSet对其值进行初始化

   DataTable dt=ds.Tables[0];

   DataRow[] myRow=dt.Select("");

   // typeid=="1"时导出为EXCEL格式文件;typeid=="2"时导出为XML格式文件

   if(typeid=="1")

    {

    //取得数据表各列标题,各标题之间以"t分割,最后一个列标题后加回车符

    for(i=0;i     colHeaders+=dt.Columns[i].Caption.ToString()+""t";

    colHeaders +=dt.Columns[i].Caption.ToString() +""n";  

    //向HTTP输出流中写入取得的数据信息

    resp.Write(colHeaders);

    //逐行处理数据 

    foreach(DataRow row in myRow)

     {

     //在当前行中,逐列获得数据,数据之间以"t分割,结束时加回车符"n

     for(i=0;i      ls_item +=row[i].ToString() + ""t";    

     ls_item += row[i].ToString() +""n";

     //当前行数据写入HTTP输出流,并且置空ls_item以便下行数据   

     resp.Write(ls_item);

     ls_item="";

    }

   }

   else

    {

    if(typeid=="2")

     {

     //从DataSet中直接导出XML数据并且写到HTTP输出流中

     resp.Write(ds.GetXml());

    }   

   }

   //写缓冲区中的数据到HTTP头文件中

   resp.End();

  }

2、由datagrid生成

public void ToExcel(System.Web.UI.Control ctl) 

   {

   HttpContext.Current.Response.AppendHeader("Content-Disposition","attachment;filename=Excel.xls");

   HttpContext.Current.Response.Charset ="UTF-8";   

   HttpContext.Current.Response.ContentEncoding =System.Text.Encoding.Default;

   HttpContext.Current.Response.ContentType ="application/ms-excel";//image/JPEG;text/HTML;image/GIF;vnd.ms-excel/msword

   ctl.Page.EnableViewState =false;  

   System.IO.StringWriter  tw = new System.IO.StringWriter() ;

   System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter (tw);

   ctl.RenderControl(hw);

   HttpContext.Current.Response.Write(tw.ToString());

   HttpContext.Current.Response.End();

  }

用法:ToExcel(datagrid1);

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:实例了解Asp.Net的继承和多态性

下一篇:ASP.NET上传大于4M的文件的相关设置