asp.net页面中数据导出到excle
1.创建web页面,通过数据库绑定,获取页面数据源。
(1)在页面中增加gridview控件。
(2)拖动工具栏中数据中的sqldatasource控件,然后配置数据源,比如连接oracle库中的数据源,配置oracle服务器名称,用户名,密码,端口,然后测试是否连接成功,如果成功则选择其中想绑定的表,选择后勾选需要显示在gridview中的字段,然后下一步确定。
(3)选中gridview控件的配置数据库源,直接下拉框显示sqldatasource即可获取当前表绑定到gridview中。
(4)增加button,修改名称为Export,然后事件如下:
public void Export(string fileName, GridView gv)
{
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.AddHeader(
"content-disposition", string.Format("attachment; filename={0}", fileName));
HttpContext.Current.Response.ContentType = "application/ms-excel";
using (StringWriter sw = new StringWriter())
{
using (HtmlTextWriter htw = new HtmlTextWriter(sw))
{
Table table = new Table();
table.GridLines = GridLines.Both; //单元格之间添加实线
if (gv.HeaderRow != null)
{
PrepareControlForExport(gv.HeaderRow);
table.Rows.Add(gv.HeaderRow);
}
foreach (GridViewRow row in gv.Rows)
{
PrepareControlForExport(row);
table.Rows.Add(row);
}
if (gv.FooterRow != null)
{
PrepareControlForExport(gv.FooterRow);
table.Rows.Add(gv.FooterRow);
}
table.RenderControl(htw);
HttpContext.Current.Response.Write(sw.ToString());
HttpContext.Current.Response.End();
}
}
}
调用上面函数即可,其中二个参数分别是导出excel的名称比如name.xls,另一个参数就是gridview控件名称,然后导出即可。