把DataGrid中的内容以Excel显示

客户端脚本

None.gif < TABLE  id ="Table1"  style ="Z-INDEX: 102; LEFT: 16px; WIDTH: 288px; POSITION: absolute; TOP: 16px; HEIGHT: 178px"
None.gif                cellSpacing
="1"  cellPadding ="1"  width ="288"  border ="0" >
None.gif                
< TR >
None.gif                    
< TD >
None.gif                        
< asp:datagrid  id ="dgExcel"  runat ="server"  Font-Names ="宋体"  Font-Size ="9pt"  Height ="100%"  Width ="100%"
None.gif                            BorderStyle
="None"  BorderWidth ="1px"  BorderColor ="#CC9966"  BackColor ="White"  CellPadding ="4" >
None.gif                            
< SelectedItemStyle  Font-Bold ="True"  ForeColor ="#663399"  BackColor ="#FFCC66" ></ SelectedItemStyle >
None.gif                            
< AlternatingItemStyle  BackColor ="#FFCC99" ></ AlternatingItemStyle >
None.gif                            
< ItemStyle  BorderWidth ="2px"  ForeColor ="#330099"  BorderStyle ="Solid"  BorderColor ="Black"  BackColor ="White" ></ ItemStyle >
None.gif                            
< HeaderStyle  Font-Bold ="True"  HorizontalAlign ="Center"  BorderWidth ="2px"  ForeColor ="#FFFFCC"
None.gif                                BorderStyle
="Solid"  BorderColor ="Black"  BackColor ="#990000" ></ HeaderStyle >
None.gif                        
</ asp:datagrid ></ TD >
None.gif                
</ TR >
None.gif                
< TR >
None.gif                    
< TD >
None.gif                        
< asp:Button  id ="btnGetExcel"  runat ="server"  Text ="把DataGrid中的内容以Excel显示" ></ asp:Button ></ TD >
None.gif                
</ TR >
None.gif            
</ TABLE >

服务端代码

None.gif          protected  System.Web.UI.WebControls.Button btnGetExcel;
None.gif        
protected  System.Web.UI.WebControls.DataGrid dgExcel;
None.gif    
None.gif        
private   void  Page_Load( object  sender, System.EventArgs e)
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif {
InBlock.gif            DataSet objDataset 
= new DataSet();
InBlock.gif            SqlConnection objConn 
= new SqlConnection();
InBlock.gif            objConn 
= new SqlConnection(ConfigurationSettings.AppSettings["ConnectionSqlServer"].ToString());
InBlock.gif            objConn.Open();
InBlock.gif            SqlDataAdapter objAdapter 
= new SqlDataAdapter("Select top 5 * from customers where country='USA'",objConn);
InBlock.gif            objAdapter.Fill(objDataset);    
InBlock.gif            DataView oView 
= new DataView(objDataset.Tables[0]);
InBlock.gif            dgExcel.DataSource 
= oView;
InBlock.gif            dgExcel.DataBind();
InBlock.gif            objConn.Close();
InBlock.gif            objConn.Dispose();
InBlock.gif            objConn 
= null;
InBlock.gif            
if(Request.QueryString["bExcel"== "1")
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                Response.ContentType 
= "application/vnd.ms-excel";
InBlock.gif                
InBlock.gif                Response.Charset 
= "";
InBlock.gif
InBlock.gif                
//关闭 ViewState
InBlock.gif
                EnableViewState = false;
InBlock.gif                System.IO.StringWriter tw 
= new System.IO.StringWriter();//将信息写入字符串
InBlock.gif
                System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw);//在WEB窗体页上写出一系列连续的HTML特定字符和文本。
InBlock.gif                
//此类提供ASP.NET服务器控件在将HTML内容呈现给客户端时所使用的格式化功能
InBlock.gif                
//获取control的HTML
InBlock.gif
                dgExcel.RenderControl(hw);//将DATAGRID中的内容输出到HtmlTextWriter对象中
InBlock.gif                
// 把HTML写回浏览器
InBlock.gif
                Response.Write(tw.ToString());
InBlock.gif                Response.End();
ExpandedSubBlockEnd.gif            }

InBlock.gif
ExpandedBlockEnd.gif        }

 

None.gif          private   void  btnGetExcel_Click( object  sender, System.EventArgs e)
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif {
InBlock.gif            Response.Redirect(
"excel.aspx?bExcel=1");
ExpandedBlockEnd.gif        }


 

转载于:https://www.cnblogs.com/timsoft/articles/412160.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值