你的位置:首页 > 软件开发 > ASP.net > asp.net mvc4使用NPOI 数据处理之快速导出Excel文档

asp.net mvc4使用NPOI 数据处理之快速导出Excel文档

发布时间:2016-10-05 13:00:03
一、背景  在之前做的小项目里有一需求是:要求将一活动录入的数据进行统计,并以excel表格形式导出来,并且对表格格式要求并不高。二、问题分析  鉴于用户只要求最终将数据库中的数据导出excel,对于格式要求不高,因此只需要在页面上加入一条链接,后台action中读取数据然后通过 ...

一、背景

  在之前做的小项目里有一需求是:要求将一活动录入的数据进行统计,并以excel表格形式导出来,并且对表格格式要求并不高。

二、问题分析

  鉴于用户只要求最终将数据库中的数据导出excel,对于格式要求不高,因此只需要在页面上加入一条链接,后台action中读取数据然后通过第三方组件导出,再下载,就能满足这个简单的需求了。首先上bing找了有关数据导出的组件,NPOI是弹出的次数最多的一项,在这里也要说到以前做get='_blank'>winform窗体开发用到过水晶报表的方法,其实实现方法比较多,由于以前没接触过NPOI,便打算在项目里使用这个开源的组件。

asp.net mvc4使用NPOI 数据处理之快速导出Excel文档

 

 

三、解决思路或过程

  1. 先准备好数据源。用的是mysql数据库,事先在数据中存入一些数据。
  2. 直接切入主题。这里主要在action里做操做。先要引入NPOI组件的dll(NPOI最新下载链接) ,再控制器中添加 using NPOI.HSSF.UserModel;
  3. 贴上控制器中action里代码:
     public ActionResult ExportDormitoryBottleRecycleExcel()    {      NPOI.HSSF.UserModel.HSSFWorkbook book = new NPOI.HSSF.UserModel.HSSFWorkbook();      NPOI.SS.UserModel.ISheet sheet1 = book.CreateSheet("Sheet1");      List<Model> list = new List<Model>();      list = pbsAccess.DeriveList();      //创建栏目      NPOI.SS.UserModel.IRow row = sheet1.CreateRow(0);      row.CreateCell(0).SetCellValue("编号");      row.CreateCell(1).SetCellValue("Col_1");      row.CreateCell(2).SetCellValue("Col_2");      row.CreateCell(3).SetCellValue("Col_3");      row.CreateCell(4).SetCellValue("Col_4");      row.CreateCell(5).SetCellValue("Col_5");      for (int i = 0; i < list.Count; i++)      {        NPOI.SS.UserModel.IRow rowtemp = sheet1.CreateRow(i + 1);        rowtemp.CreateCell(0).SetCellValue((i + 1).ToString());        rowtemp.CreateCell(1).SetCellValue(list[i].DormitoryNumber.ToString());        rowtemp.CreateCell(2).SetCellValue(list[i].SmallBottleNumber.ToString());        rowtemp.CreateCell(3).SetCellValue(list[i].BigBottleNumber.ToString());        rowtemp.CreateCell(4).SetCellValue(list[i].TotalBottleNumber.ToString());        rowtemp.CreateCell(5).SetCellValue(list[i].PublishTime.ToString());      }

    原标题:asp.net mvc4使用NPOI 数据处理之快速导出Excel文档

    关键词:ASP.NET

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。