本文主要介紹了c# 將Datatable資料匯出到Excel表格中的方法。具有很好的參考價值。下面跟著小編一起來看下吧
話不多說,請看代碼:
public FileResult GetExcelFile() { if (Session["beginDate"] != null) { string bdate = Session["beginDate"].ToString(); DateTime ld = Convert.ToDateTime(Session["lastDate"].ToString()); DateTime ldate = ld.AddDays(1); string lldate = ldate.ToString("yyyy-MM-dd"); int ptkey = Convert.ToInt32(Session["Process_PTR"]); string proceSql = "select * from Assay_Process where RKEY="+ptkey; DataTable proceDt = SqlHelper.QueryTable(proceSql); IDataParameter[] iDataTitle = new SqlParameter[3]; iDataTitle[0] = new SqlParameter("@BeginDate", bdate); iDataTitle[1] = new SqlParameter("@LastDate", lldate); iDataTitle[2] = new SqlParameter("@RKEY", ptkey); DataSet dtTitle = SqlHelper.RunProceduresByParameter("pro_GetAssalyInfoByExportPrint", iDataTitle); DataTable dt = dtTitle.Tables[0]; string outStr = ExcelExport.outExcel(dt); byte[] fileContents = Encoding.UTF8.GetBytes(outStr.ToString()); return File(fileContents, "application/ms-excel", "" + proceDt.Rows[0]["ProcessName"] .ToString().Trim() + "化驗單據(" + bdate.Trim() + "-" + lldate.Trim() + ").xls"); } else { string qua_no = Session["quano"].ToString(); IDataParameter[] iDataTitle = new SqlParameter[1]; iDataTitle[0] = new SqlParameter("@Qua_no", qua_no); DataSet dtTitle = SqlHelper.RunProceduresByParameter("pro_GetAssalyInfoByQua_No", iDataTitle); DataTable dt = dtTitle.Tables[0]; string outStr = ExcelExport.outExcel(dt); byte[] fileContents = Encoding.UTF8.GetBytes(outStr.ToString()); return File(fileContents, "application/ms-excel", "化驗單據(" + qua_no.Trim()+ ").xls"); } }