分享:Asp.net 中GridView 怎样将数据导出到Excel中

2024-12-27 11:26:02
推荐回答(1个)
回答1:

自己一直就是使用Devexpress控件做的导出数据到Excel,今天做了一个asp控件的导出数据到Excel中,下面利用一点点时间给大家分享一下,也许网上很多源码,但是我觉得毕竟是自己手敲出来的,价值更值得和大家分享:首先,我把前台的设计给贴出来:

删除 ' />
在这说一下,我使用的是SqlDataSource作的数据源。其次:一下是后台代码: protected void Button1_Click1(object sender, EventArgs e) { GridView1.Columns[0].Visible = false; //隐藏删除 GridView1.Columns[1].Visible = false; //隐藏编辑 StringWriter sw = new StringWriter(); HtmlTextWriter htmlwrite = new HtmlTextWriter(sw); string excelName = "个人信息.xls"; Response.ContentType = "application/x-excel"; Response.AppendHeader("Content-Disposition", "attachment;filename=" + Server.UrlEncode(excelName)); GridView1.RenderControl(htmlwrite); Response.Write(sw.ToString()); Response.Flush(); Response.End(); } //此方法不能删除,如果没有下面方法会报错类型“GridView”的控件"ct100_ContentPlaceHolder1_GridView1”必须放在具有 runat=server 的窗体标记内 public override void VerifyRenderingInServerForm(Control control) { // Confirms that an HtmlForm control is rendered for //如果要限制控件必须位于
标记以内,则请先呼叫这个方法,才进行展现,如此一来,如果控件放在标记以外,便会显示错误信息。 } 其实,我的代码很简单,就在页面放了个btn,”导出数据到Excel“按钮,然后在按钮下边写单击事件,需要注意的是很多朋友都说界面上设计的有comand列,不想吧这样的操作列的按钮也给导出来,此时,有个visible属性,你只需要设计下就好了,我在按钮下写了2行代码,已经标红显示了;然后在导出来之后还可以将该列设为可见即可。接下来我需要强调的是最后我使用红色字体标红的一个方法(VerifyRenderingInServerForm),这个方法必须重写,否则会报错的,错误信息我也写的很清楚,这里我也不想再啰嗦了,大家自己看看我的注视,其实大家可以尝试尝试错误!