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

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