ASP.NET使用GridView导出Excel实现方法
程序员文章站
2024-02-23 09:17:40
本文实例讲述了asp.net使用gridview导出excel实现方法。分享给大家供大家参考。具体实现方法如下:
复制代码 代码如下:///
本文实例讲述了asp.net使用gridview导出excel实现方法。分享给大家供大家参考。具体实现方法如下:
复制代码 代码如下:
/// <summary>
/// 将datatable数据导出到excel,调用该方法后自动返回可下载的文件流
/// </summary>
/// <param name="dtdata">要导出的数据源</param>
public static void datatable1excel(system.data.datatable dtdata)
{
system.web.ui.webcontrols.gridview gvexport = null;
// 当前对话
system.web.httpcontext curcontext = system.web.httpcontext.current;
// io用于导出并返回excel文件
system.io.stringwriter strwriter = null;
system.web.ui.htmltextwriter htmlwriter = null;
if (dtdata != null)
{
// 设置编码和附件格式
curcontext.response.contenttype = "application/vnd.ms-excel";
curcontext.response.contentencoding = system.text.encoding.getencoding("gb2312");
curcontext.response.charset = "utf-8";
// 导出excel文件
strwriter = new system.io.stringwriter();
htmlwriter = new system.web.ui.htmltextwriter(strwriter);
// 为了解决gvdata中可能进行了分页的情况,需要重新定义一个无分页的gridview
gvexport = new system.web.ui.webcontrols.gridview();
gvexport.datasource = dtdata.defaultview;
gvexport.allowpaging = false;
gvexport.databind();
// 返回客户端
gvexport.rendercontrol(htmlwriter);
curcontext.response.write("<meta http-equiv=\"content-type\" content=\"text/html; charset=gb2312\" />" + strwriter.tostring());
curcontext.response.end();
}
}
/// <summary>
/// 直接输出excel
/// </summary>
/// <param name="dtdata"></param>
public static void datatable2excel(system.data.datatable dtdata)
{
system.web.ui.webcontrols.datagrid dgexport = null;
// 当前对话
system.web.httpcontext curcontext = system.web.httpcontext.current;
// io用于导出并返回excel文件
system.io.stringwriter strwriter = null;
system.web.ui.htmltextwriter htmlwriter = null;
if (dtdata != null)
{
// 设置编码和附件格式
curcontext.response.contenttype = "application/vnd.ms-excel";
curcontext.response.contentencoding =system.text.encoding.utf8;
curcontext.response.charset = "";
// 导出excel文件
strwriter = new system.io.stringwriter();
htmlwriter = new system.web.ui.htmltextwriter(strwriter);
// 为了解决dgdata中可能进行了分页的情况,需要重新定义一个无分页的datagrid
dgexport = new system.web.ui.webcontrols.datagrid();
dgexport.datasource = dtdata.defaultview;
dgexport.allowpaging = false;
dgexport.databind();
// 返回客户端
dgexport.rendercontrol(htmlwriter);
curcontext.response.write(strwriter.tostring());
curcontext.response.end();
}
}
/// 将datatable数据导出到excel,调用该方法后自动返回可下载的文件流
/// </summary>
/// <param name="dtdata">要导出的数据源</param>
public static void datatable1excel(system.data.datatable dtdata)
{
system.web.ui.webcontrols.gridview gvexport = null;
// 当前对话
system.web.httpcontext curcontext = system.web.httpcontext.current;
// io用于导出并返回excel文件
system.io.stringwriter strwriter = null;
system.web.ui.htmltextwriter htmlwriter = null;
if (dtdata != null)
{
// 设置编码和附件格式
curcontext.response.contenttype = "application/vnd.ms-excel";
curcontext.response.contentencoding = system.text.encoding.getencoding("gb2312");
curcontext.response.charset = "utf-8";
// 导出excel文件
strwriter = new system.io.stringwriter();
htmlwriter = new system.web.ui.htmltextwriter(strwriter);
// 为了解决gvdata中可能进行了分页的情况,需要重新定义一个无分页的gridview
gvexport = new system.web.ui.webcontrols.gridview();
gvexport.datasource = dtdata.defaultview;
gvexport.allowpaging = false;
gvexport.databind();
// 返回客户端
gvexport.rendercontrol(htmlwriter);
curcontext.response.write("<meta http-equiv=\"content-type\" content=\"text/html; charset=gb2312\" />" + strwriter.tostring());
curcontext.response.end();
}
}
/// <summary>
/// 直接输出excel
/// </summary>
/// <param name="dtdata"></param>
public static void datatable2excel(system.data.datatable dtdata)
{
system.web.ui.webcontrols.datagrid dgexport = null;
// 当前对话
system.web.httpcontext curcontext = system.web.httpcontext.current;
// io用于导出并返回excel文件
system.io.stringwriter strwriter = null;
system.web.ui.htmltextwriter htmlwriter = null;
if (dtdata != null)
{
// 设置编码和附件格式
curcontext.response.contenttype = "application/vnd.ms-excel";
curcontext.response.contentencoding =system.text.encoding.utf8;
curcontext.response.charset = "";
// 导出excel文件
strwriter = new system.io.stringwriter();
htmlwriter = new system.web.ui.htmltextwriter(strwriter);
// 为了解决dgdata中可能进行了分页的情况,需要重新定义一个无分页的datagrid
dgexport = new system.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程序设计有所帮助。
上一篇: Verilog——IP核RAM实验
下一篇: 给超级链接增加其他样式