数据导出为Excel(未完)
生活随笔
收集整理的這篇文章主要介紹了
数据导出为Excel(未完)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
更多詳細(xì)內(nèi)容
view頁(yè)面:
function Download()
{//多個(gè)查詢條件
dateStart = $("#j_dataTimeStart").datebox("getValue");
dateEnd = $("#j_dataTimeEnd").datebox("getValue");
name = $("#j_name").val();
sex = $('#j_sex').val();window.location.href = "/Main/DownLoadExcel?dateStart=" + dateStart + "&dateEnd=" + dateEnd + "&name=" + name + "&sex=" + sex;
} Controller
1 #region 09-獲取導(dǎo)出數(shù)據(jù) 2 /// <summary> 3 /// 09-獲取導(dǎo)出數(shù)據(jù) 4 /// </summary> 5 /// <param name="student">用來接收用戶信息(涵蓋多條件)</param> 6 /// <param name="dateStart">篩選的起始時(shí)間</param> 7 /// <param name="dateEnd">篩選的結(jié)束時(shí)間</param> 8 /// <returns></returns> 9 public List<student> GetStudentList(student student, string dateStart, string dateEnd) 10 { 11 try 12 { 13 //1.獲取數(shù)據(jù)源 14 var data = db.Set<student>().Where(u => true); 15 16 //2.過濾查詢 17 //2.1對(duì)學(xué)生姓名進(jìn)行查詢 18 if (!String.IsNullOrEmpty(student.name)) 19 { 20 data = data.Where(u => u.name.Contains(student.name)); 21 } 22 //2.2對(duì)學(xué)生性別進(jìn)行查詢 23 if (!String.IsNullOrEmpty(student.sex)) 24 { 25 data = data.Where(u => u.sex == student.sex); 26 } 27 //2.3對(duì)學(xué)生年齡進(jìn)行查詢 28 if (!String.IsNullOrEmpty(student.age)) 29 { 30 data = data.Where(u => u.age.Contains(student.age)); 31 } 32 //2.4對(duì)學(xué)生記錄時(shí)間段進(jìn)行查詢 33 if ((!String.IsNullOrEmpty(dateStart)) && (!String.IsNullOrEmpty(dateEnd))) 34 { 35 DateTime dateS = Convert.ToDateTime(dateStart);//開始時(shí)間 36 DateTime dateE = Convert.ToDateTime(dateEnd);//結(jié)束時(shí)間 37 data = data.Where(u => u.dataTime >= dateS && u.dataTime <= dateE); 38 } 39 //3.返回結(jié)果數(shù)據(jù) 40 var list = data.OrderByDescending(u => u.dataTime).ToList(); 41 return list; 42 } 43 catch (Exception ex) 44 { 45 FileOperateHelp.WriteFile("E:/ErrorLog333.txt", ex.Message); 46 } 47 return new List<student>(); 48 } 49 #endregion 50 51 #region 10-導(dǎo)出學(xué)生信息方法 52 public void ExportStudentExcel(List<student> studentList, out string pathFileName) 53 { 54 #region 創(chuàng)建存放Excel的文件夾、文件 55 //創(chuàng)建存放Excel的文件夾 56 string path = Server.MapPath("~/Upload/Excel/BackFee/"); 57 string fileName = DateTime.Now.ToString("yyyyMMddHHmmssffffff") + ".xlsx"; 58 pathFileName = path + fileName; 59 60 //如果上傳目錄不存在就創(chuàng)建 61 if (!Directory.Exists(path)) 62 { 63 Directory.CreateDirectory(path); 64 } 65 66 FileInfo newFile = new FileInfo(pathFileName); 67 if (newFile.Exists) 68 { 69 newFile.Delete(); 70 newFile = new FileInfo(pathFileName); 71 } 72 #endregion 73 74 //創(chuàng)建工作簿和工作表 75 using (ExcelPackage package = new ExcelPackage(newFile)) 76 { 77 ExcelWorksheet workSheet = package.Workbook.Worksheets.Add("sheet1"); 78 79 #region 添加表頭 80 /*添加表頭*/ 81 workSheet.InsertRow(1, 1); 82 using (var range = workSheet.Cells[1, 1, 1, 5]) 83 { 84 range.Merge = true;//合并單元格 85 range.Style.Font.SetFromFont(new Font("Britannic Bold", 18, FontStyle.Regular));//為字體設(shè)置樣式 86 range.Style.HorizontalAlignment = ExcelHorizontalAlignment.CenterContinuous;//水平居中 87 range.Style.Fill.PatternType = ExcelFillStyle.Solid; 88 range.Style.Fill.BackgroundColor.SetColor(Color.FromArgb(184, 204, 228));//設(shè)置背景色 89 range.Style.Font.Color.SetColor(Color.Black);//字體顏色 90 range.Value = "學(xué)生信息統(tǒng)計(jì)表"; 91 } 92 #endregion 93 94 #region 設(shè)置列寬 95 //設(shè)置列寬 96 workSheet.Column(1).Width = 20; 97 workSheet.Column(2).Width = 20; 98 workSheet.Column(3).Width = 20; 99 workSheet.Column(4).Width = 20; 100 workSheet.Column(5).Width = 20; 101 workSheet.Column(6).Width = 20; 102 workSheet.Column(7).Width = 20; 103 workSheet.Column(8).Width = 25; 104 #endregion 105 106 #region 設(shè)置標(biāo)題 107 /*設(shè)置標(biāo)題*/ 108 workSheet.Cells[2, 1].Value = "學(xué)生姓名"; 109 workSheet.Cells[2, 2].Value = "性別"; 110 workSheet.Cells[2, 3].Value = "年齡"; 111 workSheet.Cells[2, 4].Value = "自我介紹"; 112 workSheet.Cells[2, 5].Value = "填寫時(shí)間"; 113 #endregion 114 115 using (var range = workSheet.Cells[2, 1, 2, 5]) 116 { 117 range.Style.Font.Bold = true;//設(shè)置字體為粗體 118 range.Style.Fill.PatternType = ExcelFillStyle.Solid; 119 range.Style.Fill.BackgroundColor.SetColor(Color.DarkBlue);//設(shè)置背景顏色 120 range.Style.Font.Color.SetColor(Color.White);//設(shè)置字體顏色 121 //range.AutoFilter = true; 122 } 123 124 #region 設(shè)置單元格內(nèi)容 125 /*設(shè)置單元格內(nèi)容*/ 126 int row = 3; 127 foreach (student item in studentList) 128 { 129 130 workSheet.Cells[row, 1].Value = item.name; 131 workSheet.Cells[row, 2].Value = item.sex; 132 workSheet.Cells[row, 3].Value = item.age; 133 workSheet.Cells[row, 4].Value = item.content; 134 workSheet.Cells[row, 5].Value = item.dataTime.ToString(); 135 workSheet.Cells[row, 6].Style.Numberformat.Format = "yyyy-MM-dd"; 136 workSheet.Cells[row, 1, row, 10].Style.WrapText = true;//自動(dòng)換行 137 row++; 138 } 139 #endregion 140 141 workSheet.Cells.Style.HorizontalAlignment = ExcelHorizontalAlignment.Center;//水平居中 142 //workSheet.Cells.Style.VerticalAlignment = ExcelVerticalAlignment.Center;//垂直居中 143 package.Save(); 144 } 145 } 146 #endregionView Code
?
1 #region 08-導(dǎo)出學(xué)生信息 2 /// <summary> 3 ///08-導(dǎo)出學(xué)生信息 4 /// 【下載到本地】 5 /// </summary> 6 /// <param name="student">用來接收用戶信息(涵蓋多條件)</param> 7 /// <param name="dateStart">篩選的起始時(shí)間</param> 8 /// <param name="dateEnd">篩選的結(jié)束時(shí)間</param> 9 /// <returns></returns> 10 public FileResult DownLoadExcel(student student, string dateStart, string dateEnd) 11 { 12 List<student> studentList = GetStudentList(student, dateStart, dateEnd); 13 string pathFileName = string.Empty; 14 ExportStudentExcel(studentList, out pathFileName); 15 string fileName = DateTime.Now.ToString("yyyyMMddHHmmssffffff") + ".xlsx"; 16 17 return File(pathFileName, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", fileName); 18 } 19 #endregion導(dǎo)出學(xué)生信息
1 #region 09-獲取導(dǎo)出數(shù)據(jù) 2 /// <summary> 3 /// 09-獲取導(dǎo)出數(shù)據(jù) 4 /// </summary> 5 /// <param name="student">用來接收用戶信息(涵蓋多條件)</param> 6 /// <param name="dateStart">篩選的起始時(shí)間</param> 7 /// <param name="dateEnd">篩選的結(jié)束時(shí)間</param> 8 /// <returns></returns> 9 public List<student> GetStudentList(student student, string dateStart, string dateEnd) 10 { 11 try 12 { 13 //1.獲取數(shù)據(jù)源 14 var data = db.Set<student>().Where(u => true); 15 16 //2.過濾查詢 17 //2.1對(duì)學(xué)生姓名進(jìn)行查詢 18 if (!String.IsNullOrEmpty(student.name)) 19 { 20 data = data.Where(u => u.name.Contains(student.name)); 21 } 22 //2.2對(duì)學(xué)生性別進(jìn)行查詢 23 if (!String.IsNullOrEmpty(student.sex)) 24 { 25 data = data.Where(u => u.sex == student.sex); 26 } 27 //2.3對(duì)學(xué)生年齡進(jìn)行查詢 28 if (!String.IsNullOrEmpty(student.age)) 29 { 30 data = data.Where(u => u.age.Contains(student.age)); 31 } 32 //2.4對(duì)學(xué)生記錄時(shí)間段進(jìn)行查詢 33 if ((!String.IsNullOrEmpty(dateStart)) && (!String.IsNullOrEmpty(dateEnd))) 34 { 35 DateTime dateS = Convert.ToDateTime(dateStart);//開始時(shí)間 36 DateTime dateE = Convert.ToDateTime(dateEnd);//結(jié)束時(shí)間 37 data = data.Where(u => u.dataTime >= dateS && u.dataTime <= dateE); 38 } 39 //3.返回結(jié)果數(shù)據(jù) 40 var list = data.OrderByDescending(u => u.dataTime).ToList(); 41 return list; 42 } 43 catch (Exception ex) 44 { 45 FileOperateHelp.WriteFile("E:/ErrorLog333.txt", ex.Message); 46 } 47 return new List<student>(); 48 } 49 #endregion獲取導(dǎo)出數(shù)據(jù)
1 #region 10-導(dǎo)出學(xué)生信息方法 2 public void ExportStudentExcel(List<student> studentList, out string pathFileName) 3 { 4 #region 創(chuàng)建存放Excel的文件夾、文件 5 //創(chuàng)建存放Excel的文件夾 6 string path = Server.MapPath("~/Upload/Excel/BackFee/"); 7 string fileName = DateTime.Now.ToString("yyyyMMddHHmmssffffff") + ".xlsx"; 8 pathFileName = path + fileName; 9 10 //如果上傳目錄不存在就創(chuàng)建 11 if (!Directory.Exists(path)) 12 { 13 Directory.CreateDirectory(path); 14 } 15 16 FileInfo newFile = new FileInfo(pathFileName); 17 if (newFile.Exists) 18 { 19 newFile.Delete(); 20 newFile = new FileInfo(pathFileName); 21 } 22 #endregion 23 24 //創(chuàng)建工作簿和工作表 25 using (ExcelPackage package = new ExcelPackage(newFile)) 26 { 27 ExcelWorksheet workSheet = package.Workbook.Worksheets.Add("sheet1"); 28 29 #region 添加表頭 30 /*添加表頭*/ 31 workSheet.InsertRow(1, 1); 32 using (var range = workSheet.Cells[1, 1, 1, 5]) 33 { 34 range.Merge = true;//合并單元格 35 range.Style.Font.SetFromFont(new Font("Britannic Bold", 18, FontStyle.Regular));//為字體設(shè)置樣式 36 range.Style.HorizontalAlignment = ExcelHorizontalAlignment.CenterContinuous;//水平居中 37 range.Style.Fill.PatternType = ExcelFillStyle.Solid; 38 range.Style.Fill.BackgroundColor.SetColor(Color.FromArgb(184, 204, 228));//設(shè)置背景色 39 range.Style.Font.Color.SetColor(Color.Black);//字體顏色 40 range.Value = "學(xué)生信息統(tǒng)計(jì)表"; 41 } 42 #endregion 43 44 #region 設(shè)置列寬 45 //設(shè)置列寬 46 workSheet.Column(1).Width = 20; 47 workSheet.Column(2).Width = 20; 48 workSheet.Column(3).Width = 20; 49 workSheet.Column(4).Width = 20; 50 workSheet.Column(5).Width = 20; 51 workSheet.Column(6).Width = 20; 52 workSheet.Column(7).Width = 20; 53 workSheet.Column(8).Width = 25; 54 #endregion 55 56 #region 設(shè)置標(biāo)題 57 /*設(shè)置標(biāo)題*/ 58 workSheet.Cells[2, 1].Value = "學(xué)生姓名"; 59 workSheet.Cells[2, 2].Value = "性別"; 60 workSheet.Cells[2, 3].Value = "年齡"; 61 workSheet.Cells[2, 4].Value = "自我介紹"; 62 workSheet.Cells[2, 5].Value = "填寫時(shí)間"; 63 #endregion 64 65 using (var range = workSheet.Cells[2, 1, 2, 5]) 66 { 67 range.Style.Font.Bold = true;//設(shè)置字體為粗體 68 range.Style.Fill.PatternType = ExcelFillStyle.Solid; 69 range.Style.Fill.BackgroundColor.SetColor(Color.DarkBlue);//設(shè)置背景顏色 70 range.Style.Font.Color.SetColor(Color.White);//設(shè)置字體顏色 71 //range.AutoFilter = true; 72 } 73 74 #region 設(shè)置單元格內(nèi)容 75 /*設(shè)置單元格內(nèi)容*/ 76 int row = 3; 77 foreach (student item in studentList) 78 { 79 80 workSheet.Cells[row, 1].Value = item.name; 81 workSheet.Cells[row, 2].Value = item.sex; 82 workSheet.Cells[row, 3].Value = item.age; 83 workSheet.Cells[row, 4].Value = item.content; 84 workSheet.Cells[row, 5].Value = item.dataTime.ToString(); 85 workSheet.Cells[row, 6].Style.Numberformat.Format = "yyyy-MM-dd"; 86 workSheet.Cells[row, 1, row, 10].Style.WrapText = true;//自動(dòng)換行 87 row++; 88 } 89 #endregion 90 91 workSheet.Cells.Style.HorizontalAlignment = ExcelHorizontalAlignment.Center;//水平居中 92 //workSheet.Cells.Style.VerticalAlignment = ExcelVerticalAlignment.Center;//垂直居中 93 package.Save(); 94 } 95 } 96 #endregion導(dǎo)出學(xué)生信息方法
?
?<下拉框>
ExcelRange range = worksheet.Cells[idxRow, idxCell];
string strData = "北京,上海,廣州";
string[] Data = strData.Split(',');
var val = worksheet.DataValidations.AddListValidation(range.Address);
for (int idxV = 0; idxV < Data.Length; idxV++)
{
val.Formula.Values.Add(Data[idxV]);
}
轉(zhuǎn)載于:https://www.cnblogs.com/chenze-Index/p/9234392.html
總結(jié)
以上是生活随笔為你收集整理的数据导出为Excel(未完)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: spring boot 通过Maven
- 下一篇: pyhton re模块