开发工具与关键技术: MVC如何生成验证码 倒叙排序 方法返回序列的第一个元素 创建Excel对象

开发工具与关键技术: MVC如何生成验证码 倒叙排序 方法返回序列的第一个元素 创建Excel对象
作者:冉启东
撰写时间: 2019年4月16日

一, 生成验证码
public ActionResult ValidCode()
生成一个随机字符串 验证码
string strRandom = ValidCodeUtils.GetRandomCode(5);
将验证码存入Session会话
Session[“validCode”] = strRandom;
byte[] 根据验证码产生图片
byte[] imgByte = ValidCodeUtils.CreateImage(strRandom);
return File(imgByte, @“image/jpeg”);
二, OrderByDescending 倒叙排序 FirstOrDefault()方法返回序列的第一个元素
UserID = tbStudent.Key, Achievement = tbStudent.OrderByDescending(m => m.Achievement).ToList().FirstOrDefault().Achievement,成绩
AchievementID = tbStudent.OrderByDescending(m => m.Achievement).ToList().FirstOrDefault().AchievementID,成绩ID
EligibleTypeID = tbStudent.OrderByDescending(m => m.Achievement).ToList().FirstOrDefault().EligibleTypeID,合格类型ID
ExamNumber = tbStudent.OrderByDescending(m => m.Achievement).ToList().FirstOrDefault().ExamNumber,考试次数
StTime = tbStudent.OrderByDescending(m => m.Achievement).ToList().FirstOrDefault().StTime,开始时间
EnTime = tbStudent.OrderByDescending(m => m.Achievement).ToList().FirstOrDefault().EnTime 结束时间
ToList();

CertificateID = tbCertificate.CertificateID, 证书ID
CertificateNumber = tbCertificate.CertificateNumber, 证书编号
IssuanceUnit = tbCertificate.IssuanceUnit, 颁发证书的单位
StrIssuanceTime = tbCertificate.IssuanceTime.ToString(),证书颁发时间
tartTime = tbAchievement.StTime.ToString(),考试开始时间
Achievement = tbAchievement.Achievement.ToString(),成绩
StudentName = tbStudent.StudentName,学生姓名
StudentNumber = tbStudent.StudentNumber,学号
AcademeID = tbStudent.AcademeID,学院ID
GradeID = tbStudent.GradeID,年级ID
ClassID = tbStudent.ClassID班级ID
四,创建Excel对象
NPOI.HSSF.UserModel.HSSFWorkbook book = new NPOI.HSSF.UserModel.HSSFWorkbook();
NPOI.SS.UserModel.ISheet sheet = book.CreateSheet();创建Excel对象工作簿
#region 给导出的Excel设置表头
NPOI.SS.UserModel.IRow row1 = sheet.CreateRow(0);给sheet添加第一行的头部标题
row1.CreateCell(0).SetCellValue(“学号”);
row1.CreateCell(1).SetCellValue(“姓名”);
row1.CreateCell(2).SetCellValue(“性别”);
row1.CreateCell(3).SetCellValue(“班级”);
row1.CreateCell(4).SetCellValue(“成绩”);
row1.CreateCell(5).SetCellValue(“合格类型”);
#endregion#region 给sheet的每行添加数据
for (int i = 0; i < listResult.Count; i++)
{NPOI.SS.UserModel.IRow row = sheet.CreateRow(i + 1);给sheet添加一行
row.CreateCell(0).SetCellValue(listResult[i].StudentNumber);
row.CreateCell(1).SetCellValue(listResult[i].StudentName);
row.CreateCell(2).SetCellValue(listResult[i].StudentSex);
row.CreateCell(3).SetCellValue(listResult[i].ClassName);
row.CreateCell(4).SetCellValue(listResult[i].Achievement.ToString());
row.CreateCell(5).SetCellValue(listResult[i].EligibleType);}
#endregion输出的文件名称
string fileName = “学生安全教育测试成绩” + DateTime.Now.ToString(“yyyy-MM-dd-HH-mm-ss-ffff”) + “.xls”;把Excel转化为文件流,输出
MemoryStream BookStream = new MemoryStream();定义文件流
book.Write(BookStream);将工作薄写入文件流
BookStream.Seek(0, SeekOrigin.Begin);输出之前调用Seek(偏移量,游标位置)方法:获取文件流的长度
return File(BookStream, “application/vnd.ms-excel”, fileName); 文件类型文件名称

猜你喜欢

转载自blog.csdn.net/weixin_44540672/article/details/89329966
今日推荐