里面的学号、姓名、身份证等等,都是假的,请勿当真,如有类同,请谅解
应用或者作用:
当我们想当页面的信息导出来,就需要导出,当我们点击导出按钮时,它便会自动当前页面的信息或者数据进行一个下载,并且下载到一个文件夹里,比如如下:
上面就我需要导出的一个页面的信息;
下图便是一个过程,当我们点击导出按钮时,它会有下载效果,将当前页面的信息或者数据进行下载到一个文件夹里
下面则是导出的结果,下载好的文件夹里的结果
不过现在我知道的,有两种,一种复杂,一种简单的,下面的是复杂的一种,简单的要用到layui框架
思路:
第一步:查询出需要导出的数据
第二步:将需要导出的数据写入到Excel中
第一步:
先进行查询语句:
List<StudentVo> list = (from tbStudent in myModel.SYS_Student
join tbAcademe in myModel.SYS_Academe on tbStudent.academeID equals tbAcademe.academeID
join tbSpecialty in myModel.SYS_Specialty on tbStudent.specialtyID equals tbSpecialty.specialtyID
join tbGrade in myModel.SYS_Grade on tbStudent.gradeID equals tbGrade.gradeID
join tbClass in myModel.SYS_Class on tbStudent.classID equals tbClass.classID
select new StudentVo
{
studentID = tbStudent.studentID,
academeID = tbStudent.academeID,
gradeID = tbStudent.gradeID,
specialtyID = tbStudent.specialtyID,
classID = tbStudent.classID,
studentName = tbStudent.studentName,
studentSex = tbStudent.studentSex,
studentIDNum = tbStudent.studentIDNum,
studentNumber = tbStudent.studentNumber,
studentPictureName = tbStudent.studentPictureName,
academeName = tbAcademe.academeName,
specialtyName = tbSpecialty.specialtyName,
gradeName = tbGrade.gradeName,
className = tbClass.className
}).ToList();
然后进行拼接:
if (academeID != null && academeID > 0)
{
list = list.Where(o => o.academeID == academeID).ToList();
}
if (specialtyID != null && academeID > 0)
{
list = list.Where(o => o.specialtyID == specialtyID).ToList();
}
if (gradeID != null && gradeID > 0)
{
list = list.Where(o => o.gradeID == gradeID).ToList();
}
if (classID != null && classID > 0)
{
list = list.Where(o => o.classID == classID).ToList();
}
if (!string.IsNullOrEmpty(searchText))
{
searchText = searchText.Trim();
list = list.Where(o => o.studentName.Contains(searchText) ||
o.studentIDNum.Contains(searchText) ||
o.studentNumber.Contains(searchText)).ToList();
}
第二步:
一:构建Excel
1、构建工作簿
NPOI.SS.UserModel.IWorkbook workbook = new
NPOI.HSSF.UserModel.HSSFWorkbook();//xls
2、创建工作表
NPOI.SS.UserModel.ISheet sheet = workbook.CreateSheet("工作表名称");
workbook.SetSheetName(0, "学生信息");
3、创建标题(行)
NPOI.SS.UserModel.IRow rowTitle = sheet.CreateRow(0);//0 行索引 第一行
rowTitle.HeightInPoints = 35; //行的高度
3-2、创建单元格
NPOI.SS.UserModel.ICell cell0 = rowTitle.CreateCell(0);
3-3、单元格设置值
cell0.SetCellValue("导出的学生信息");
Excel单元格合并
sheet.AddMergedRegion(new NPOI.SS.Util.CellRangeAddress(0, 0, 0, 8));
4、创建表头行,并设置字段
NPOI.SS.UserModel.IRow rowHeader = sheet.CreateRow(1);//索引 第2行
rowHeader.CreateCell(0).SetCellValue("序号");
rowHeader.CreateCell(1).SetCellValue("学号");
rowHeader.CreateCell(2).SetCellValue("姓名");
rowHeader.CreateCell(3).SetCellValue("身份证号码");
rowHeader.CreateCell(4).SetCellValue("性别");
rowHeader.CreateCell(5).SetCellValue("学院");
rowHeader.CreateCell(6).SetCellValue("专业");
rowHeader.CreateCell(7).SetCellValue("年级");
rowHeader.CreateCell(8).SetCellValue("班级");
上面都有各自的作用,都给其写了注释,
这只是大概的布局,详细内容请看下篇