后台代碼
public ActionResult ExportUserInfo() { HSSFWorkbook hssfworkbook = new HSSFWorkbook(); #region 定義excel表格 ISheet sheet1 = hssfworkbook.CreateSheet("Sheet1"); IRow row = sheet1.CreateRow(0); //設置列寬度 sheet1.SetColumnWidth(0, 20 * 256); sheet1.SetColumnWidth(1, 30 * 256); IRow row1 = sheet1.CreateRow(0); row1.CreateCell(0).SetCellValue("姓名"); row1.CreateCell(1).SetCellValue("性別"); #endregion #region 填充數據 int rownum = 1; var list = new List<UserInfo>(){new UserInfo(){Name="小明",Sex="男"},new UserInfo(){Name="小紅",Sex="女"};} if (!list.Any()) return Json(new { result = false, msg = "沒有數據" }); foreach (var model in list) { IRow row3 = sheet1.CreateRow(rownum); row3.CreateCell(0).SetCellValue(model.Name); row3.CreateCell(1).SetCellValue(model.Sex); rownum++; } #endregion string folder = Server.MapPath("/Down/"); if (!Directory.Exists(folder)) { Directory.CreateDirectory(folder); } //寫入到表格 string filename2 = "用戶信息" + DateTime.Now.ToString("yyyyMMddhhmmss") + ".xls"; using (FileStream fs = new FileStream(folder + filename2, FileMode.OpenOrCreate, FileAccess.Write)) { hssfworkbook.Write(fs); } string url = "../Down/" + filename2; return Json(new { result = true, url = url }); }
前台代碼
//導出用戶信息 function ExportUserInfos() { $.ajax({ url: '/UserInfo/ExportUserInfo', type: 'post', cache: false, success: function (json) { if (json.result) window.location.href = json.url; else alert("沒有數據!"); }, error: function () { alert("網絡錯誤,請稍后重試"); } }); }