文件的导出(1)

里面的学号、姓名、身份证等等,都是假的,请勿当真,如有类同,请谅解

应用或者作用: 

当我们想当页面的信息导出来,就需要导出,当我们点击导出按钮时,它便会自动当前页面的信息或者数据进行一个下载,并且下载到一个文件夹里,比如如下

上面就我需要导出的一个页面的信息;

下图便是一个过程,当我们点击导出按钮时,它会有下载效果,将当前页面的信息或者数据进行下载到一个文件夹里

下面则是导出的结果,下载好的文件夹里的结果

不过现在我知道的,有两种,一种复杂,一种简单的,下面的是复杂的一种,简单的要用到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("班级");

上面都有各自的作用,都给其写了注释,

这只是大概的布局,详细内容请看下篇

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值