• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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!=0fields.Length==headTexts.Length)
          {
            ColCount=fields.Length;
            gvw.AutoGenerateColumns=false;
            for(i=0;iColCount;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();
          }
        }
      }
    您可能感兴趣的文章:
    • 直接在线预览Word、Excel、TXT文件之ASP.NET
    • ASP.NET使用GridView导出Excel实现方法
    • asp.net导出excel数据的常见方法汇总
    • Asp.net导出Excel/Csv文本格式数据的方法
    • Asp.Net使用Npoi导入导出Excel的方法
    • asp.net导出Excel乱码的原因及解决方法
    • asp.net使用npoi读取excel模板并导出下载详解
    • .Net中导出数据到Excel(asp.net和winform程序中)
    • asp.net生成Excel并导出下载五种实现方法
    • ASP.NET导出Excel打开时提示:与文件扩展名指定文件不一致解决方法
    • asp.net中如何批量导出access某表内容到word文档
    • asp.net 按指定模板导出word,pdf实例代码
    • asp.net+Ligerui实现grid导出Excel和Word的方法
    上一篇:在ASP.NET中实现弹出日历的具体方法
    下一篇:ASP.Net获取客户端网卡MAC的小例子
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

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