数据导出为Excel(未完)
更多详细内容
view页面:
function Download()
{//多个查询条件
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-获取导出数据 2 /// <summary> 3 /// 09-获取导出数据 4 /// </summary> 5 /// <param name="student">用来接收用户信息(涵盖多条件)</param> 6 /// <param name="dateStart">筛选的起始时间</param> 7 /// <param name="dateEnd">筛选的结束时间</param> 8 /// <returns></returns> 9 public List<student> GetStudentList(student student, string dateStart, string dateEnd) 10 { 11 try 12 { 13 //1.获取数据源 14 var data = db.Set<student>().Where(u => true); 15 16 //2.过滤查询 17 //2.1对学生姓名进行查询 18 if (!String.IsNullOrEmpty(student.name)) 19 { 20 data = data.Where(u => u.name.Contains(student.name)); 21 } 22 //2.2对学生性别进行查询 23 if (!String.IsNullOrEmpty(student.sex)) 24 { 25 data = data.Where(u => u.sex == student.sex); 26 } 27 //2.3对学生年龄进行查询 28 if (!String.IsNullOrEmpty(student.age)) 29 { 30 data = data.Where(u => u.age.Contains(student.age)); 31 } 32 //2.4对学生记录时间段进行查询 33 if ((!String.IsNullOrEmpty(dateStart)) && (!String.IsNullOrEmpty(dateEnd))) 34 { 35 DateTime dateS = Convert.ToDateTime(dateStart);//开始时间 36 DateTime dateE = Convert.ToDateTime(dateEnd);//结束时间 37 data = data.Where(u => u.dataTime >= dateS && u.dataTime <= dateE); 38 } 39 //3.返回结果数据 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-导出学生信息方法 52 public void ExportStudentExcel(List<student> studentList, out string pathFileName) 53 { 54 #region 创建存放Excel的文件夹、文件 55 //创建存放Excel的文件夹 56 string path = Server.MapPath("~/Upload/Excel/BackFee/"); 57 string fileName = DateTime.Now.ToString("yyyyMMddHHmmssffffff") + ".xlsx"; 58 pathFileName = path + fileName; 59 60 //如果上传目录不存在就创建 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 //创建工作簿和工作表 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));//为字体设置样式 86 range.Style.HorizontalAlignment = ExcelHorizontalAlignment.CenterContinuous;//水平居中 87 range.Style.Fill.PatternType = ExcelFillStyle.Solid; 88 range.Style.Fill.BackgroundColor.SetColor(Color.FromArgb(184, 204, 228));//设置背景色 89 range.Style.Font.Color.SetColor(Color.Black);//字体颜色 90 range.Value = "学生信息统计表"; 91 } 92 #endregion 93 94 #region 设置列宽 95 //设置列宽 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 设置标题 107 /*设置标题*/ 108 workSheet.Cells[2, 1].Value = "学生姓名"; 109 workSheet.Cells[2, 2].Value = "性别"; 110 workSheet.Cells[2, 3].Value = "年龄"; 111 workSheet.Cells[2, 4].Value = "自我介绍"; 112 workSheet.Cells[2, 5].Value = "填写时间"; 113 #endregion 114 115 using (var range = workSheet.Cells[2, 1, 2, 5]) 116 { 117 range.Style.Font.Bold = true;//设置字体为粗体 118 range.Style.Fill.PatternType = ExcelFillStyle.Solid; 119 range.Style.Fill.BackgroundColor.SetColor(Color.DarkBlue);//设置背景颜色 120 range.Style.Font.Color.SetColor(Color.White);//设置字体颜色 121 //range.AutoFilter = true; 122 } 123 124 #region 设置单元格内容 125 /*设置单元格内容*/ 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;//自动换行 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 #endregion
View Code
1 #region 08-导出学生信息 2 /// <summary> 3 ///08-导出学生信息 4 /// 【下载到本地】 5 /// </summary> 6 /// <param name="student">用来接收用户信息(涵盖多条件)</param> 7 /// <param name="dateStart">筛选的起始时间</param> 8 /// <param name="dateEnd">筛选的结束时间</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
导出学生信息
1 #region 09-获取导出数据 2 /// <summary> 3 /// 09-获取导出数据 4 /// </summary> 5 /// <param name="student">用来接收用户信息(涵盖多条件)</param> 6 /// <param name="dateStart">筛选的起始时间</param> 7 /// <param name="dateEnd">筛选的结束时间</param> 8 /// <returns></returns> 9 public List<student> GetStudentList(student student, string dateStart, string dateEnd) 10 { 11 try 12 { 13 //1.获取数据源 14 var data = db.Set<student>().Where(u => true); 15 16 //2.过滤查询 17 //2.1对学生姓名进行查询 18 if (!String.IsNullOrEmpty(student.name)) 19 { 20 data = data.Where(u => u.name.Contains(student.name)); 21 } 22 //2.2对学生性别进行查询 23 if (!String.IsNullOrEmpty(student.sex)) 24 { 25 data = data.Where(u => u.sex == student.sex); 26 } 27 //2.3对学生年龄进行查询 28 if (!String.IsNullOrEmpty(student.age)) 29 { 30 data = data.Where(u => u.age.Contains(student.age)); 31 } 32 //2.4对学生记录时间段进行查询 33 if ((!String.IsNullOrEmpty(dateStart)) && (!String.IsNullOrEmpty(dateEnd))) 34 { 35 DateTime dateS = Convert.ToDateTime(dateStart);//开始时间 36 DateTime dateE = Convert.ToDateTime(dateEnd);//结束时间 37 data = data.Where(u => u.dataTime >= dateS && u.dataTime <= dateE); 38 } 39 //3.返回结果数据 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
获取导出数据
1 #region 10-导出学生信息方法 2 public void ExportStudentExcel(List<student> studentList, out string pathFileName) 3 { 4 #region 创建存放Excel的文件夹、文件 5 //创建存放Excel的文件夹 6 string path = Server.MapPath("~/Upload/Excel/BackFee/"); 7 string fileName = DateTime.Now.ToString("yyyyMMddHHmmssffffff") + ".xlsx"; 8 pathFileName = path + fileName; 9 10 //如果上传目录不存在就创建 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 //创建工作簿和工作表 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));//为字体设置样式 36 range.Style.HorizontalAlignment = ExcelHorizontalAlignment.CenterContinuous;//水平居中 37 range.Style.Fill.PatternType = ExcelFillStyle.Solid; 38 range.Style.Fill.BackgroundColor.SetColor(Color.FromArgb(184, 204, 228));//设置背景色 39 range.Style.Font.Color.SetColor(Color.Black);//字体颜色 40 range.Value = "学生信息统计表"; 41 } 42 #endregion 43 44 #region 设置列宽 45 //设置列宽 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 设置标题 57 /*设置标题*/ 58 workSheet.Cells[2, 1].Value = "学生姓名"; 59 workSheet.Cells[2, 2].Value = "性别"; 60 workSheet.Cells[2, 3].Value = "年龄"; 61 workSheet.Cells[2, 4].Value = "自我介绍"; 62 workSheet.Cells[2, 5].Value = "填写时间"; 63 #endregion 64 65 using (var range = workSheet.Cells[2, 1, 2, 5]) 66 { 67 range.Style.Font.Bold = true;//设置字体为粗体 68 range.Style.Fill.PatternType = ExcelFillStyle.Solid; 69 range.Style.Fill.BackgroundColor.SetColor(Color.DarkBlue);//设置背景颜色 70 range.Style.Font.Color.SetColor(Color.White);//设置字体颜色 71 //range.AutoFilter = true; 72 } 73 74 #region 设置单元格内容 75 /*设置单元格内容*/ 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;//自动换行 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
导出学生信息方法
<下拉框>
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]);
}
转载于:https://www.cnblogs.com/chenze-Index/p/9234392.html
数据导出为Excel(未完)相关推荐
- 如何优化百万级别数据导出(excel 文件)
如何优化百万级别数据导出(excel 文件) 背景 未优化前存在的问题 业务接口流程 优化后 业务接口流程(优化版v1) 业务接口流程(优化版v2) 优化效果 复盘 宏观层面 遇到的困难 收获 代码实 ...
- php 链接excel表格数据,php 怎么把数据导出到excel表格?php 连接 excel表格数据库数据...
php 怎么把数据导出到excel表格 php 把数据导出到excel表多种方法如使用 phpExcel 等,以下代码是直接通 header 生成 excel 文件的代码示例: header(&quo ...
- python 导出大量数据到excel_怎么在python中将大量数据导出到Excel文件
怎么在python中将大量数据导出到Excel文件 发布时间:2021-01-16 11:09:40 来源:亿速云 阅读:76 作者:Leah 这期内容当中小编将会给大家带来有关怎么在python中将 ...
- c#sql数据导出到excel
这篇文章主要介绍了C#将Sql数据保存到Excel文件中的方法,文中的ExportExcel可起到将sql数据导出为Excel的作用,需要的朋友可以参考下 public string ExportEx ...
- Python:数据导出到Excel(使用xlwt)
写在前面:前端ajax调用导出方法,ajax无法导出问题 原因:ajax是无法直接导出excel的,因为ajax的返回值只能是字符流,而导出excel是后台往浏览器中写入二进制的字节流 方法一.for ...
- python导出百万数据到excel_使用python将大量数据导出到Excel中的小技巧分享
使用python将大量数据导出到Excel中的小技巧分享 今天小编就为大家分享一篇使用python将大量数据导出到Excel中的小技巧心得,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看 ...
- excel文件导入hive乱码_把数据库数据导出到excel
SQL Server BI Step by Step 2--- 使用SSIS进行简单的数据导入导出 让我们首先开始学习SSIS吧,利用SSIS把SQL Server中的数据导出.首先,打开Vs.net ...
- 纯JavaScript 实现JSON数据导出到Excel(支持多个Sheet页)
核心思想: 拿到JSON 格式的数据后,使用JS逻辑生成符合 EXCEL格式规范的XML字符串 然后转字符串内容把换成一个Blob 实例对象 最后通过 临时创建的一个A标签通过触发它的点击事件模拟浏览 ...
- python 批量查询网页导出结果_python导出网页数据到excel表格-如何使用python将大量数据导出到Excel中的小技巧...
如何用python把返回的html提取相应的内容到excel 下载扩展库 xlrd 读excle xlwt 写excle 直百度上搜就能下载 下载后使用 import xlrd 就读excle了 打开 ...
- python读html导出excel,python数据导出到excel
如何使用python将大量数据导出到Excel中的 安装openpyxl模块 调用openpyxl模块,将变量中的数据写入excel 具体的操作流程需要根据您的需CSS布局HTML小编今天和大家分享和 ...
最新文章
- Kali渗透测试——UPNP网关发现工具Miranda
- 自学python还是报班-转行Python开发自学还是报班?老男孩全日制学习
- jvm性能调优实战 -50修复Metaspace区域内存溢出问题
- 腾讯云【人脸识别】服务的一次尝试(JAVA)
- 科大星云诗社动态20210902
- linux常用命令--diff
- 我的linux 常用命令
- python利器-Python 数据可视化利器
- Flutter之BottomSheet
- python运维实战pdf_python运维实例.pdf
- vue 打印 某块内容成pdf
- PowerDesign安装教程
- MessageQueue nativePollOnce 一个不一样的 ANR
- java:中文汉语数字和阿拉伯数字互相转换,人民币大小写转换
- win7计算机窗口无法最小化,Windows7系统任务栏不显示最小化窗口的解决方法
- matlab绘制roc曲线,手把手画ROC曲线
- 【iOS】UI基础Day2-笔记(毛玻璃、帧动画、音效等)
- 中国近代史纲要 期末复习
- Arduino ESP8266/ESP32读取和改写MAC
- 关于svn(客户端)在安装完成过程中所遇到的一点问题