- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
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的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我试图对 ASP.Net MVC 有一个高层次的理解,我开始意识到它看起来很像原始的 ASP 脚本。过去,我们将“模型”/业务逻辑代码组织到 VBScript 类或 VB COM 组件中。 当然,现在
我已经搜索了一段时间,但似乎找不到答案。 我想在我的旋转木马中显示一个计数器,左边是当前项目(工作),左边是项目总数。 我的代码:
. 最佳答案 Scott Gu 称这些为代码块。这就是我的看法。 http://weblogs.asp.net/scottgu/archive/2010/04/06/new-lt-gt-syntax
我有一个使用 Visual Studio 2010/.net 4/VB 制作的网站。 我真的很喜欢我发现的 FAQ 系统的布局,因为它很简单,但它是经典的 asp。所以,显然,我不能包括我的母版页布局
好吧,对于你们许多人来说,这个问题可能有一个非常明显的答案,但它让我难住了。 我有一个 asp.net Web 表单,上面有两个控件(嗯,不止这两个,但我们将重点关注这些) - 第一个是 asp:dr
当我将 ASP.NET 复选框控件设置为 asp.net 更新面板的异步回发触发器时,EventName 属性是什么? 最佳答案 我相信它是 CheckedChanged。 关于asp.net - a
我有一个用经典 asp 编写的(巨大的)网站。现在我必须切换到 vb.net (razor)。有没有办法将这两个结合起来直到切换完成? 有没有办法让应用程序与经典的 asp 和 vb.net 一起工作
I am creating a products page, where the user selects an option in a radiobuttonlist for example, an
我最近将一个经典的 ASP 应用程序转换为 ASP.NET 3.5,但我觉得我的经典 ASP 版本要快一些(我不知道可能买家会后悔)。 所以你们能帮我解决这个问题吗,让我知道哪个更快,asp、asp.
从本周开始,我被要求开始学习如何使用 ASP 开发网站。我通过 XNA 对 C# 有一定的经验,所以这部分对我来说并不是什么麻烦。 我一直在关注Music Store Tutorial这需要我设置一个
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 8 年前。 Improve this ques
我想将一些表单变量发布到经典 ASP 页面中。我不想改变经典的 ASP 页面,因为需要完成大量的工作,以及消耗它们的页面数量。 经典的 ASP 页面需要将表单变量 Username 和 Userpas
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便
在某种程度上,这可能是一个异端问题。我们有一个大型站点,其中许多页面仍在ASP中。通常,并没有真正动态的,而是包括(通过SSI或Server.Execute)定期重新生成的HTML块。看起来好像是一个
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 9 年前。 Improve this ques
我有一个遗留的 ASP 应用程序——在不久的某个时候——需要迁移到 ASP.Net 2.0(以与也在 2.0 中的其他应用程序兼容)。 对于这类事情是否有最佳实践,即作为第一步将当前 html、vbs
我目前在一家公司工作,该公司使用 ASP.NET Webforms 和旧 ASP 页面的组合进行 Web 开发。这对于他们当前的项目来说效果很好,但我想说服/建议他们切换到 ASP.NET MVC,因
我有一个经典的 asp 应用程序。我想将该页面的竞赛表格发布到 Asp.Net 表格。原因是我想在进入数据库之前使用我在 Asp.Net 页面中内置的大量逻辑进行验证,而我对 asp 不太了解。更不用
我知道在 ASP.NET MVC 中,您可以拥有移动 View 并执行类似 Index.mobile.cshtml 的操作。和 _Layout.mobile.cshtml并且服务器知道将这些 View
我需要从一些服务器端 c#.net 代码中调用经典 asp 页面上的 VBscript 函数 - 有谁知道一种干净的方法来做到这一点?在 .net 中重写函数不是一种选择。 我会再解释一下这个问题..
我是一名优秀的程序员,十分优秀!