gridview导出到excel
原创
©著作权归作者所有:来自51CTO博客作者sunshiyi的原创作品,请联系作者获取转载授权,否则将追究法律责任
gridview导出到excel有很多方法,这里列出两种,其中第一种是导出,第二种应该叫写入。在此推荐第二种方法。贴代码 :
第一种,在按钮单击事件里写:
//首先清除分页
GridView1.AllowPaging = false;
GridView1.DataBind();
Response.Clear();
Response.Buffer = true;
//设定输出的字符集
Response.Charset = "GB2312";
//解决导出乱码问题
Response.Write("<meta http-equiv=Content-Type
content=text/html;charset=GB2312>");
//假定导出的文件名为test.xls
Response.AppendHeader("Content-Disposition",
"p_w_upload;filename=test.xls" .ToString());
//解决导出乱码问题
Response.ContentEncoding =
System.Text.Encoding.GetEncoding("GB2312");
//设置导出文件的格式
Response.ContentType = "application/ms-excel";
//关闭ViewState
this.EnableViewState = false;
StringWriter stringWriter = new StringWriter();
HtmlTextWriter textWriter = new HtmlTextWriter(stringWriter);
GridView1.RenderControl(textWriter);
//把HTML写回浏览器
Response.Write(stringWriter.ToString());
Response.Flush();
Response.End();
GridView1.AllowPaging = true;//恢复分页
//为GridView重新绑定数据源
GridView1.DataBind(); ;
}
另外,要在下面再加上一段代码:
public override void VerifyRenderingInServerForm(Control control)
{
}
这种方式其实并不是真正的导出了excel,用记事本打开该文件,你会发现它是html代码。如果只是简单的把数据导出来,倒是可以考虑。
第二种,是把gridview的每个单元格的内容读出来然后写入到excel对应的单元格里。
if (GridView1.Rows.Count == 0)
return;
Microsoft.Office.Interop.Excel.Application excel = new
Microsoft.Office.Interop.Excel.Application();
excel.Application.Workbooks.Add(true);
excel.Visible = true;
for (int j = 0; j < GridView1.Columns.Count; j++) {
excel.Cells[1, j + 1] = GridView1.Columns[j].HeaderText;
}
for (int j = 0; j < GridView1.Rows.Count; j++)
{
for (int k = 0; k < GridView1.Columns.Count; k++)
{
excel.Cells[j + 2, k + 1] =
GridView1.Rows[j].Cells[k].Text;
}
}
这种方法要注意的是,首先应该引用Microsoft.office.interop.excel 11.0.0.0;
另外,如果前台gridview是自动生成字段,那么gridview.columns是获取不到值的,为0。
还有,excel单元格 Cells[]中的索引,它是从1开始的,和gridview从0开始不一样。
下一篇:删除数组重复值
![](https://ucenter.51cto.com/images/noavatar_middle.gif)
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Java Excel导入导出
Java的两种方式操作Excel
数据 java excel 导出数据 -
gridview导出到excel2007
gridview导出到excel2007
excel gridview -
将gridview的内容导出到excel中去
asp.net 2.0中,gridview控件是个很不错的控件,如何将gridview中的数据导出到E
Excel ASP.net ASP UI Web -
asp.net 将GridView导出到Excel
请看代码.........
html 文件名 导出excel JAVA