将GridView中的数据导出为Excel,然后由用户选择是保存还是打开打印,虽然代码比较简单。
无非就是用IO流去写成为Excel,但是有很多细节稍不注意就为成为困扰。
还是写下来,以后碰到了来查查。
先贴个源码:
public override void VerifyRenderingInServerForm(Control control)
{ }
protected void Print_ServerClick(object sender, EventArgs e)
{
Response.Clear();
Response.Buffer = true;
Response.Charset = "GB2312";
string filename = "attachment;filename=" + System.Web.HttpUtility.UrlEncode( this.DropDownList1.SelectedItem.Text + "年" + this.DropDownList2.SelectedItem.Text + "月技术交易奖酬金",System.Text.Encoding.UTF8)+".xls";
Response.AppendHeader("Content-Disposition", filename);
// 如果设置为 GetEncoding("GB2312");导出的文件将会出现乱码!!!
Response.ContentEncoding = System.Text.Encoding.UTF7;
Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。
System.IO.StringWriter StringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter HtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
this.GVStart.AllowPaging = false;
BindGridView();
this.GVStart.RenderControl(oHtmlTextWriter);
Response.Output.Write(oStringWriter.ToString());
Response.Flush();
Response.End();
this.GVStart.AllowPaging = true;
this.GVStart.PageIndex = 0;
BindGridView();
}
1:首先在打印页面的HTML<%@ Page/>标签中加入EnableEventValidation = "false",否则可能会出现
错误:只能在执行 Render() 的过程中调用 RegisterForEventValidation
2:重写方法 public override void VerifyRenderingInServerForm(Control control) ,否则会出现,GridView控件
必须出现在 RunAt="server" 标签中,原因嘛,就不在此啰嗦了。
3:文件名中文乱码,很简单用 System.Web.HttpUtility.UrlEncode转换一下为UTF8就好了。
4:至于分页的GridView。在输出前把分页禁用,绑定所有数据后输出,完成后在重新启用分页就好了。
分享到:
相关推荐
GridView导出Excel 111111111111111111111111111
VS2008+Access数据库制作分别实现了GridView导出Excel和DataTable直接导出Excel不再需要绑定GridView,希望可以帮到需要的朋友们。
Gridview 导出Excel Gridview 导出Excel
Gridview中的内容导出到Excel 将gridview的内容导出到excel中去 解决gridview的excel导出问题
GridView 导出excel ,用2003可以打开,2007不能
把GridView中的数据导出Excel的简单方法
里面的代码可以直接将gridview里的内容导出到excel表格
ASP.NET中把Gridview导出为EXCEL,解决中文乱码问题,详情请看视频
GridView导出Excel 采用三层框架 代码朋友们可以改善 GridView导出Excel 采用三层框架 代码朋友们可以改善 GridView导出Excel 采用三层框架 代码朋友们可以改善 GridView导出Excel 采用三层框架 代码朋友们可以改善 ...
GridView 导出到 Excel文件中
GridView导出Excel实例 可以看看是怎么样做的﹐不太完善﹐改改才好用﹐只是练手的
GridView导出excel.rar;GridView导出excel.rar
TreeView实现复选联动及GridView导出Excel YYControls应用之TreeView实现复选联动及GridView导出Excel、Word、Text 联动复选框(复选框的全选和取消全选)。选中指定的父复选框,则设置其所有子复选框为选中状态...
只能导出导出devexpress插件的GridControl控件中GridView表格中的数据,表格中有什么数据导出什么数据,列顺序也不变。 文件说明: 1.ExportTableExcel.cs:实现导出逻辑的类 2.ExportExcelStyle.cs:导出的...
实现了从gridview导出到excel表格的功能。
Gridview导出数据到excel
NPOI这个dll来操作excel,将dll文件引用到项目中
本程序实现了gridview导出到EXCEL中的简单功能
很简单的一个导出, GridView是什么样子,导出的数据就是什么样子, 用着很犀利.新手学习
防止GridView导出到excel中自动转成科学计数法