標籤:style blog http color os io 檔案 for
1.方法
private StringWriter GetStringWriter(DataTable dt) { StringWriter sw = new StringWriter(); //讀列名 foreach (DataColumn dc in dt.Columns) sw.Write(dc.ColumnName + "\t"); //讀列值 //重新的一行 sw.Write(sw.NewLine); if (dt != null) { foreach (DataRow dr in dt.Rows) { for (int i = 0; i < dt.Columns.Count; i++) { sw.Write(dr[i].ToString() + "\t"); } sw.Write(sw.NewLine); } } sw.Close(); return sw; } protected void ExcelImport(DataTable dt, string ExportFileName) { StringWriter sw = GetStringWriter(dt); //當前編碼 HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312"); //把輸出的檔案名稱進行編碼 string fileName = HttpUtility.UrlEncode(ExportFileName, System.Text.Encoding.UTF8); //檔案名稱 string str = "attachment;filename=" + fileName + ".xls"; //把檔案頭輸出,此檔案頭啟用檔案下載框 HttpContext.Current.Response.AppendHeader("Content-Disposition", str);//http前序檔案 HttpContext.Current.Response.ContentType = "application/ms-excel"; this.Page.EnableViewState = false; Response.Write(sw); Response.End(); }
2.調用
string sql = "select * from eco_sys_members "; DataTable dt = DbHelperSQL.Query(sql).Tables[0]; if (dt.Rows.Count > 0) { //匯出Excel ExcelImport(dt, DateTime.Now.ToString()); }