GirdView 導出到Excel

        Response.Clear();
        Response.BufferOutput = true;
        //設定輸出的字符集
        Response.Charset = "GB2312";
        //假定導出的文件名爲FileName.xls
        Response.AppendHeader("Content-Disposition", "attachment;filename=FileName.xls");
        Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
        //設置導出文件的格式
        Response.ContentType = "application/ms-excel";
        //關閉ViewState
        EnableViewState = false;
        System.Globalization.CultureInfo cultureInfo = new System.Globalization.CultureInfo("ZH-CN", true);
        System.IO.StringWriter stringWriter = new System.IO.StringWriter(cultureInfo);
        System.Web.UI.HtmlTextWriter textWriter = new System.Web.UI.HtmlTextWriter(stringWriter);
        DataTable dt = new DataTable();
        dt = tmaintainmanager.PMaintain1Get();
        GridView gridview1=new GridView();   //前臺不用綁定數據 ;後臺直接創建一個GirdView
        gridview1.DataSource = dt.DefaultView;
        gridview1.DataBind();
        gridview1.RenderControl(textWriter);
        //把HTML寫回瀏覽器
        Response.Write(stringWriter.ToString());
        Response.End();

 

 

存儲過程:

 

 

ALTER PROCEDURE [dbo].[PMaintain1Get]

AS
BEGIN
 SET NOCOUNT ON;
 SELECT [MaintainID] as [維修表Id],
 [Question] as [故障原因],
 [Solution] as [解決方法],
 [OutTime] as [出勤時間],
 [InPlaceTime] as [到位時間],
 [FinishedTime] as [完成時間],
 [PredictTime] as [預計時間],
 [Fee] as [收費],
 [Technician] as [技術員],
 [SendPerson] as [派單員],
 [Description] as [備註],
 [AcceptTime] as [受理時間],
 CASE [Sign] WHEN 0 THEN '未完成' WHEN 1 THEN '完成' END AS [完成情況],
 [Number] as [維修產品數量],
 [Status] as [覈查情況],
 case [keep]
 when 1 then '保內'
 when 2 then '保外'
 when 3 then '其他情況'
 end as [保修情況]
 FROM [TMaintain]
END

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章