ASP.NET导出word和excel通用代码

aspx代码:

 <html xmlns="http://www.w3.org/1999/xhtml"> 

 <head runat="server"> 

     <title>无标题页</title> 

 </head> 

 <body> 

     <form id="form1" runat="server"> 

          <div> 

             <table align="center" cellpadding="0" cellspacing="0" border="0"> 

                 <tr> 

                     <td align="center"> 

                         <asp:Button ID="cmdOpen" runat="server" Text="在线打开" CommandName="open" OnCommand="Button_Click"  />&nbsp; 

                         <asp:Button ID="cmdSave" runat="server" Text="本地保存" CommandName="save" OnCommand="Button_Click" /> 

                         <asp:DropDownList ID="listType" runat="server" > 

                             <asp:ListItem Value="excel">Excel</asp:ListItem> 

                             <asp:ListItem Value="word">Word</asp:ListItem> 

                         </asp:DropDownList><br /> 

                         <br /> 

                         数据源:<br /> 

                         <br /> 

                         <asp:GridView ID="myGW" runat="server" > 

                         </asp:GridView> 

                     </td> 

                 </tr> 

             </table> 

         </div> 

     </form> 

 </body> 

 </html>

 

aspx。cs代码:

 using System; 

 using System.Data; 

 using System.Data.SqlClient; 

 using System.Configuration; 

 using System.Web; 

 using System.Web.Security; 

 using System.Web.UI; 

 using System.Web.UI.WebControls; 

 using System.Web.UI.WebControls.WebParts; 

 using System.Web.UI.HtmlControls; 

   

    

 public partial class _Default : System.Web.UI.Page  

 { 

     protected void Page_Load(object sender, EventArgs e) 

     { 

         FillGridView(); 

     } 

     private void OutPut(string fileType, string strType) 

     { 

         Response.Clear(); 

         Response.Buffer = true; 

         Response.Charset = "GB2312"; 

         Response.AppendHeader("Content-Disposition", fileType); 

         Response.ContentType = strType; 

         this.EnableViewState = false; 

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

         HtmlTextWriter hTw = new HtmlTextWriter(swOut); 

         myGW.RenderControl(hTw); 

         Response.Write(swOut.ToString()); 

         Response.End(); 

     } 

     protected void Button_Click(object sender, CommandEventArgs e) 

     { 

         switch (e.CommandName) 

         { 

             case "save": 

                 switch (listType.SelectedValue) 

                 { 

                     case "excel": 

                         OutPut("attachment;filename=out.xls", "application/ms-excel"); 

                         break; 

                     case "word": 

                         OutPut("attachment;filename=out.doc", "application/ms-word"); 

                         break; 

                 } 

                 break; 

             case "open": 

                 switch (listType.SelectedValue) 

                 { 

                     case "excel": 

                         OutPut("online;filename=out.xls", "application/ms-excel"); 

                         break; 

                     case "word": 

                         OutPut("online;filename=out.doc", "application/ms-word"); 

                         break; 

                 } 

                 break; 

         } 

     } 

     public override void VerifyRenderingInServerForm(Control control) 

     { 

     } 

     private void FillGridView() 

     { 

         string strConn = "server=.;database=sbskweb;user id=sa;password=sa"; 

         SqlConnection conn = new SqlConnection(strConn); 

         SqlCommand comm = new SqlCommand(); 

         comm.Connection = conn; 

         string strSql = "SELECT  top 10 序号=Rowid,父节点=FatherID,模块名称=Categoryname FROM Web_Category"; 

         comm.CommandText = strSql; 

         conn.Open(); 

         this.myGW.DataSource = comm.ExecuteReader(); 

         this.myGW.DataBind(); 

         conn.Close(); 

     } 

   

 }

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值