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