gpt4 book ai didi

ASP.NET导出数据到Excel的实现方法

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 26 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章ASP.NET导出数据到Excel的实现方法由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

网上好些代码的原理大致与此类似,同样都存在一个问题,就是:   类型“GridView”的控件“ctl00_center_GridView1”必须放在具有 runat=server 的窗体标记内。 说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息:System.Web.HttpException: 类型“GridView”的控件“ctl00_center_GridView1”必须放在具有 runat=server 的窗体标记内。   这段错误描述是我在注释了这段程序是报的错, 。

复制代码代码如下

//publicoverridevoidVerifyRenderingInServerForm(Controlcontrol) //{ //  //base.VerifyRenderingInServerForm(control); //} 。

  虽然这个方法里的内容也被注释了,也就是说这是个空方法,但是如果没有个方法,程序就会报上面那个错误。最初见到这段错误说明是想到了以前做ajax程序时报的一个错误很是类似。同样是因为没有重写VerifyRenderingInServerForm方法所致。在此提醒使用的朋友注意,下面贴出导出到Excel的代码 。

复制代码代码如下

usingSystem; usingSystem.Data; usingSystem.Configuration; usingSystem.Collections; usingSystem.Web; usingSystem.Web.Security; usingSystem.Web.UI; usingSystem.Web.UI.WebControls; usingSystem.Web.UI.WebControls.WebParts; usingSystem.Web.UI.HtmlControls; usingSystem.IO; ///<summary> ///ToExcleHelper的摘要说明 ///</summary>   publicclassExportHelper   {     publicstaticvoidExportToExcel(IListdataList,string[]fields,string[]headTexts,stringtitle)     {       GridViewgvw=newGridView();       intColCount,i;       //如果筛选的字段和对应的列头名称个数相对的情况下只导出指定的字段       if(fields.Length!=0&&fields.Length==headTexts.Length)       {         ColCount=fields.Length;         gvw.AutoGenerateColumns=false;         for(i=0;i<ColCount;i++)         {           BoundFieldbf=newBoundField();           bf.DataField=fields[i];           bf.HeaderText=headTexts[i];           gvw.Columns.Add(bf);         }       }       else       {         gvw.AutoGenerateColumns=true;       }       SetStype(gvw);       gvw.DataSource=dataList;       gvw.DataBind();       ExportToExcel(gvw,title);     }     ///<summary>     ///导出数据到Excel     ///</summary>     ///<paramname="DataList">IListData</param>     ///<paramname="Fields">要导出的字段</param>     ///<paramname="HeadName">字段对应显示的名称</param>     publicstaticvoidExportToExcel(IListdataList,string[]fields,string[]headTexts)     {       ExportToExcel(dataList,fields,headTexts,string.Empty);     }     ///<summary>     ///设置样式     ///</summary>     ///<paramname="gvw"></param>     privatestaticvoidSetStype(GridViewgvw)     {       gvw.Font.Name="Verdana";       gvw.BorderStyle=System.Web.UI.WebControls.BorderStyle.Solid;       gvw.HeaderStyle.BackColor=System.Drawing.Color.LightCyan;       gvw.HeaderStyle.ForeColor=System.Drawing.Color.Black;       gvw.HeaderStyle.HorizontalAlign=System.Web.UI.WebControls.HorizontalAlign.Center;       gvw.HeaderStyle.Wrap=false;       gvw.HeaderStyle.Font.Bold=true;       gvw.HeaderStyle.Font.Size=10;       gvw.RowStyle.Font.Size=10;     }     ///<summary>     ///导出GridView中的数据到Excel     ///</summary>     ///<paramname="gvw"></param>     ///<paramname="DataList"></param>     publicstaticvoidExportToExcel(GridViewgvw,stringtitle)     {       stringfileName;       HttpContext.Current.Response.Buffer=true;       HttpContext.Current.Response.ClearContent();       HttpContext.Current.Response.ClearHeaders();       fileName=string.Format("xhmd{0:yyMMddHHmm}.xls",DateTime.Now);       HttpContext.Current.Response.AppendHeader("Content-Disposition","attachment;filename="+fileName);       HttpContext.Current.Response.ContentType="application/vnd.ms-excel";       StringWritertw=newSystem.IO.StringWriter();       HtmlTextWriterhw=newSystem.Web.UI.HtmlTextWriter(tw);       gvw.RenderControl(hw);       if(!string.IsNullOrEmpty(title))       {         HttpContext.Current.Response.Write("<b><center><fontsize=3face=Verdanacolor=#0000FF>"+title+"</font></center></b>");       }       HttpContext.Current.Response.Write(tw.ToString());       HttpContext.Current.Response.Flush();       HttpContext.Current.Response.Close();       HttpContext.Current.Response.End();       gvw.Dispose();       tw.Dispose();       hw.Dispose();       gvw=null;       tw=null;       hw=null;     }     publicstaticvoidDataTable2Excel(System.Data.DataTabledtData)     {       System.Web.UI.WebControls.DataGriddgExport=null;      //当前对话       System.Web.HttpContextcurContext=System.Web.HttpContext.Current;       //IO用于导出并返回excel文件       System.IO.StringWriterstrWriter=null;       System.Web.UI.HtmlTextWriterhtmlWriter=null;       if(dtData!=null)      {         //设置编码和附件格式        curContext.Response.ContentType="application/vnd.ms-excel";        curContext.Response.ContentEncoding=System.Text.Encoding.UTF8;        curContext.Response.Charset="";                  //导出excel文件        strWriter=newSystem.IO.StringWriter();        htmlWriter=newSystem.Web.UI.HtmlTextWriter(strWriter);        //为了解决dgData中可能进行了分页的情况,需要重新定义一个无分页的DataGrid         dgExport=newSystem.Web.UI.WebControls.DataGrid();         dgExport.DataSource=dtData.DefaultView;         dgExport.AllowPaging=false;         dgExport.DataBind();         //返回客户端         dgExport.RenderControl(htmlWriter);           curContext.Response.Write(strWriter.ToString());         curContext.Response.End();       }     }   } 。

最后此篇关于ASP.NET导出数据到Excel的实现方法的文章就讲到这里了,如果你想了解更多关于ASP.NET导出数据到Excel的实现方法的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com