开始做ITOO也有很长一段时间了,一路走来,一路写代码以来,遇到了各种各样的问题,然而对这些问题并没有做很好的汇总。有些问题,莫名其妙解决了,也很没有头绪。今天就来说一下,我在做导出Excel时遇到的问题。
ITOO的框架:MVC+EasyUI+EF,如图:
B层代码:
<span style="font-family:KaiTi_GB2312;font-size:18px;">public List<BasicOnClassStudentViewModel> ExcelOnClassStudent(string onClassID)
{
return this.OnClassStudentDal.LoadItems(o => o.IsEnabled == 1 && o.OnClassID == onClassID).Select(
s => new BasicOnClassStudentViewModel()
{
OnClassID = s.OnClassID,
StudentID = s.StudentID,
Name = s.basicstudententities.Name,
StudentNo = s.basicstudententities.StudentNo,
Sex = s.basicstudententities.Sex
}
).ToList();
}</span>
View里面的Controller代码:
<span style="font-family:KaiTi_GB2312;font-size:18px;">public ActionResult ExportExcel(string onClassID)
{
List<BasicOnClassStudentViewModel> onclassStu = new List<BasicOnClassStudentViewModel>();
onclassStu = OnClassStudentBll.ExcelOnClassStudent(onClassID);
//导出Excel的HashTake表
Hashtable ExcelData = new Hashtable();
ExcelData.Add("StudentNo", "学生学号");
ExcelData.Add("Name", "姓名");
ExcelData.Add("Sex", "性别");
return File(ExportManager.ExportExcel(onclassStu, ExcelData), "application/vnd.ms-excel", "上课班学生信息.xls");
}</span>
但是在运行的时候出现了一个错误:
随后发现是引用的NPOI变成了一个“小叹号”。
后来添加了正确版本的NPOI.dll后问题成功解决了。在找2.1.3.1版本的NPOI.dll时,费了不少劲。官网上也没下下来。所以,这里给大家一个链接,点此下载即可。