CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

一个datagrid转为excel的问题

楼主billlyh9()2005-06-01 11:40:50 在 .NET技术 / C# 提问

点击按钮后,转向处理excel程序,  
   
  private   void   Button1_Click(object   sender,   System.EventArgs   e)  
  {  
          Response.Redirect("devicegrouplist_print.aspx?bExcel=1");  
  }  
   
   
  if(Request.QueryString["bExcel"]   !=null)  
  {  
  Response.ContentType   =   "application/vnd.ms-excel";  
   
  Response.Charset   =   "";  
   
  //关闭   ViewState  
  EnableViewState   =   false;  
  System.IO.StringWriter   tw   =   new   System.IO.StringWriter();//将信息写入字符串  
  System.Web.UI.HtmlTextWriter   hw   =   new   System.Web.UI.HtmlTextWriter(tw);//在WEB窗体页上写出一系列连续的HTML特定字符和文本。  
  //此类提供ASP.NET服务器控件在将HTML内容呈现给客户端时所使用的格式化功能  
  //获取control的HTML  
  dvdatagrid.RenderControl(hw);//将DATAGRID中的内容输出到HtmlTextWriter对象中  
  //   把HTML写回浏览器  
  Response.Write(tw.ToString());  
  Response.End();  
  }  
   
   
  发生如下错误:!!!!!!!!!!!!!!!!!!!!!!!!  
  System.Web.HttpException:   类型“DataGridLinkButton”的控件“dvdatagrid__ctl3__ctl0”必须放在具有   runat=server   的窗体标记内。  
   
  源错误:    
   
   
  行   114: //此类提供ASP.NET服务器控件在将HTML内容呈现给客户端时所使用的格式化功能  
  行   115: //获取control的HTML  
  行   116: dvdatagrid.RenderControl(hw);//将DATAGRID中的内容输出到HtmlTextWriter对象中  
  行   117: //   把HTML写回浏览器  
  行   118: Response.Write(tw.ToString());  
     
   
  大侠依次为帮分析分析  
  问题点数:0、回复次数:2Top

1 楼JeasonZF(哭泣的鱼)回复于 2005-06-01 15:00:09 得分 0

你这种方法不太好,如果datagrid有分页、排序等就会出错  
  还是用下面这种好:  
        。。。。。。//以上省略(就是取纪录的代码)  
        DataTable   dt=ds.Tables["table1"];  
        StringWriter   sw=new   StringWriter();  
        sw.WriteLine("自动编号,姓名,年龄");  
        foreach(DataRow   dr   in   dt.Rows)  
        {  
          sw.WriteLine(dr["ID"]+","+dr["vName"]+","+dr["iAge"]);  
        }  
        sw.Close();  
        Response.AddHeader("Content-Disposition",   "attachment;   filename=test.csv");  
        Response.ContentType   =   "application/ms-excel";  
        Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");  
        Response.Write(sw);  
        Response.End();Top

2 楼billlyh9()回复于 2005-06-03 08:37:04 得分 0

JeasonZF(哭泣的鱼)    
   
  你这个是保存为execel呀,我要的是,一点击   页面就转为execel文件的页面Top

相关问题

  • Excel转为Access表的问题
  • 怎样将excel表格的数据转为数据库?
  • mdb 数据库,如何转为excel 表格并打印。
  • 请问如何将mdb的数据转为EXCEL?????????????
  • 请问如何用VC实将EXCEL数据文件 转为 DBF
  • 数据库中的表转为excel的方法?
  • EXCEL中的交叉表怎样转为SQL Server的数据表
  • -----在excel中如何将列转为行、行转为列显示,即将整个表格换转,详细请进......
  • datagrid导出到excel?
  • datagrid 导出到 excel

关键词

  • asp.net
  • 控件
  • excel
  • datagrid
  • 内容
  • html
  • stringwriter
  • htmltextwriter
  • sw
  • tw

得分解答快速导航

  • 帖主:billlyh9

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo