2011年12月1日 星期四

Asp.net 匯出假Excel


protected void Button1_Click(object sender, EventArgs e)
{
Response.Clear();

System.Text.StringBuilder sb = new System.Text.StringBuilder(); //內容自行新增

string fileName = DropDownList1.SelectedValue.ToString() + DropDownList1.SelectedValue.ToString()+ ".xls";

if (Request.Browser.Browser == "IE")
{
fileName = Server.UrlPathEncode(fileName);
}
string style = " ";

Response.AddHeader("Content-Disposition", "attachment;filename=" + fileName );

//Response.Write("");
Response.ContentType = "application/ms-excel";
Response.ContentEncoding = System.Text.Encoding.Default;//.Unicode;//.UTF8;//

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

//文字格式處理 
Response.Write(style);
Response.Write(sb.ToString());//內容
Response.Write(stringWrite.ToString());
Response.End();
}
以下這段一定要加

public override void VerifyRenderingInServerForm(Control control)
{
//處理'GridView' 的控制項 'GridView' 必須置於有 runat=server 的表單標記之中
}
ps如放在button放在updatepanel裡