• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

转帖:[Asp.net技术]asp.net中Word\Excel的导出数据制作(懒人发掘) ...

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

这是asp.net 中将页面数据导出word、excel的常用代码(以datagrid为例)

导出word代码:

Response.Clear();
   Response.AddHeader("content-disposition", "attachment;filename=FileName.doc");

   Response.Charset = "utf-8";

   Response.Cache.SetCacheability(HttpCacheability.NoCache);

   Response.ContentType = "application/vnd.word";

   System.IO.StringWriter stringWrite = new System.IO.StringWriter();

   System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);

   DataGrid1.RenderControl(htmlWrite);

   Response.Write(stringWrite.ToString());

   Response.End();

导出excel代码:

Response.Clear();
   Response.AddHeader("content-disposition", "attachment;filename=FileName.xls");

   Response.Charset = "utf-8";

   Response.Cache.SetCacheability(HttpCacheability.NoCache);

   Response.ContentType = "application/vnd.xls";

   System.IO.StringWriter stringWrite = new System.IO.StringWriter();

   System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);

   DataGrid1.RenderControl(htmlWrite);

   Response.Write(stringWrite.ToString());

   Response.End();

这个代码很容易可以在网上搜到,但是如果页面的datagrid有排序和分页时就会出现错误,这是时候如果用循环导出数据,实在是不爽。现有一个新的办法:

第一种:

复制同样一个datagrid,赋同样的数据,隐藏,取消分页和排序功能:

Datagrid2.Visible=true;
   Response.Clear();
   Response.AddHeader("content-disposition", "attachment;filename=FileName.xls");

   Response.Charset = "utf-8";

   Response.Cache.SetCacheability(HttpCacheability.NoCache);

   Response.ContentType = "application/vnd.xls";
   this.EnableViewState=false;
   System.IO.StringWriter stringWrite = new System.IO.StringWriter();

   System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);

   Datagrid2.RenderControl(htmlWrite);

   Response.Write(stringWrite.ToString());

   Response.End();
   Datagrid2.Visible=false;

即可倒出漂亮的excel文件,word同上

同理可得:导出前取消分页和排序,导出再恢复,可以实现这个功能


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap