天天看點

【轉】ASP.NET導出word和excel通用代碼

aspx浠g??

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

<head runat="server">

??? <title>????棰?椤?lt;/title>

</head>

<body>

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

???????? <div>

??????????? <table align="center" cellpadding="0" cellspacing="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浠g??

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();

??? }

} ?惰??浜? 2010-11-01 ?ヨ??浜??懼害绌洪??/body>

繼續閱讀