导出数据网格视图到excel在asp . net

本文关键字:excel asp net 视图 数据 数据网 网格 | 更新日期: 2023-09-27 18:08:50

导出数据网格视图到excel代码运行,所有数据导出到excel工作表,但我只想在excel工作表中选择列如何解决这个问题

    protected void btnexcel_Click1(object sender, EventArgs e)
   {
    Response.Clear();
    Response.Buffer = true;
    Response.AddHeader("content-disposition",
    "attachment;filename=ActualsAndBudgets.xls");
    Response.Charset = "";
    Response.ContentType = "application/ms-excel";
    Response.Cache.SetCacheability(HttpCacheability.NoCache);
    StringWriter sw = new StringWriter();
    HtmlTextWriter htw = new HtmlTextWriter(sw);
    gvdetails.AllowPaging = false;
    fillgrid();
    gvdetails.RenderControl(htw);
    Response.Write(sw.ToString());
    Response.End();
    gvdetails.AllowPaging = true;
    fillgrid();
  }
   public override void VerifyRenderingInServerForm(Control control)
  {
  }

导出数据网格视图到excel在asp . net

    using System;
    using System.Data;
     using System.IO;
     using System.Web;
      using System.Web.UI;
      using System.Web.UI.WebControls;
       namespace Whatever
       {
        /// 
        /// This class provides a method to write a dataset to the HttpResponse as
          /// an excel file. 
         /// 
            public class ExcelExport
       {
          public static void ExportDataSetToExcel(DataSet ds, string filename)
       {
        HttpResponse response = HttpContext.Current.Response;
   // first let's clean up the response.object
      response.Clear();
       response.Charset = "";
        // set the response mime type for excel
          response.ContentType = "application/vnd.ms-excel";
         response.AddHeader("Content-Disposition", "attachment;
           filename='"" + filename       + "'"");
         // create a string writer
       using (StringWriter sw = new StringWriter())
      {
       using (HtmlTextWriter htw = new HtmlTextWriter(sw))
        {
       // instantiate a datagrid
        DataGrid dg = new DataGrid();
      dg.DataSource = ds.Tables[0];
        dg.DataBind();
       dg.RenderControl(htw);
        response.Write(sw.ToString());
      response.End(); 
    }
  }
  }
   }
     }