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