C# NPOI导出数据到Excel

  1         public void Export()
  2         {
  3             //创建工作簿对象
  4             IWorkbook workbook = new XSSFWorkbook();
  5
  6             ExportStatistics(workbook);
  7             ExportHumidifyLog(workbook);
  8             ExportHumidifyEventLog(workbook);
  9             ExportHandlingEventLog(workbook);
 10
 11             //创建流对象并设置存储Excel文件的路径
 12             using (FileStream url = File.OpenWrite(@"D:\增湿数据.xlsx"))
 13             {
 14                 //导出Excel文件
 15                 workbook.Write(url);
 16             };
 17         }
 18
 19         private void ExportStatistics(IWorkbook workbook)
 20         {
 21             //创建工作表
 22             ISheet sheet = workbook.CreateSheet("增湿机与Handling统计");
 23             IRow row0 = sheet.CreateRow(0);
 24             row0.CreateCell(0).SetCellValue("统计项");
 25             row0.CreateCell(1).SetCellValue("循环数");
 26             row0.CreateCell(2).SetCellValue("实际循环时间");
 27             row0.CreateCell(3).SetCellValue("理论循环时间");
 28             row0.CreateCell(4).SetCellValue("运行时间");
 29             row0.CreateCell(5).SetCellValue("总时间");
 30             row0.CreateCell(6).SetCellValue("故障时间");
 31             for (int r = 0; r < Statistics.Count; r++)
 32             {
 33                 //创建行row
 34                 IRow row = sheet.CreateRow(r + 1);
 35                 row.CreateCell(0).SetCellValue(Statistics[r].SourceName);
 36                 row.CreateCell(1).SetCellValue(Statistics[r].CycleCount);
 37                 row.CreateCell(2).SetCellValue(Statistics[r].ActualCycleTime);
 38                 row.CreateCell(3).SetCellValue(Statistics[r].TheoreticalCycleTime);
 39                 row.CreateCell(4).SetCellValue(Statistics[r].UseTime);
 40                 row.CreateCell(5).SetCellValue(Statistics[r].UpTime);
 41                 row.CreateCell(6).SetCellValue(Statistics[r].DownTime);
 42             }
 43         }
 44         private void ExportHumidifyLog(IWorkbook workbook)
 45         {
 46             //创建工作表
 47             ISheet sheet = workbook.CreateSheet("增湿记录");
 48             IRow row0 = sheet.CreateRow(0);
 49             row0.CreateCell(0).SetCellValue("增湿穴");
 50             row0.CreateCell(1).SetCellValue("程序号");
 51             row0.CreateCell(2).SetCellValue("物料名称");
 52             row0.CreateCell(3).SetCellValue("增湿开始时间");
 53             row0.CreateCell(4).SetCellValue("增湿结束时间");
 54             for (int r = 0; r < HumidifyLog.Count; r++)
 55             {
 56                 //创建行row
 57                 IRow row = sheet.CreateRow(r + 1);
 58                 row.CreateCell(0).SetCellValue(HumidifyLog[r].ChamberID);
 59                 row.CreateCell(1).SetCellValue(HumidifyLog[r].HumidifyProgramNo);
 60                 row.CreateCell(2).SetCellValue(HumidifyLog[r].MaterialName);
 61                 row.CreateCell(3).SetCellValue(HumidifyLog[r].HumidifyStartTime);
 62                 row.CreateCell(4).SetCellValue(HumidifyLog[r].HumidifyEndTime);
 63             }
 64         }
 65         private void ExportHumidifyEventLog(IWorkbook workbook)
 66         {
 67             //创建工作表
 68             ISheet sheet = workbook.CreateSheet("增湿机故障统计");
 69             IRow row0 = sheet.CreateRow(0);
 70             row0.CreateCell(0).SetCellValue("故障ID");
 71             row0.CreateCell(1).SetCellValue("故障描述");
 72             row0.CreateCell(2).SetCellValue("故障开始时间");
 73             row0.CreateCell(3).SetCellValue("故障结束时间");
 74             for (int r = 0; r < HumidifyEventLog.Count; r++)
 75             {
 76                 //创建行row
 77                 IRow row = sheet.CreateRow(r + 1);
 78                 row.CreateCell(0).SetCellValue(HumidifyEventLog[r].Code);
 79                 row.CreateCell(1).SetCellValue(HumidifyEventLog[r].Remark);
 80                 row.CreateCell(2).SetCellValue(HumidifyEventLog[r].StartTime);
 81                 row.CreateCell(3).SetCellValue(HumidifyEventLog[r].EndTime);
 82             }
 83         }
 84         private void ExportHandlingEventLog(IWorkbook workbook)
 85         {
 86             //创建工作表
 87             ISheet sheet = workbook.CreateSheet("Handling故障统计");
 88             IRow row0 = sheet.CreateRow(0);
 89             row0.CreateCell(0).SetCellValue("故障ID");
 90             row0.CreateCell(1).SetCellValue("故障描述");
 91             row0.CreateCell(2).SetCellValue("故障开始时间");
 92             row0.CreateCell(3).SetCellValue("故障结束时间");
 93             for (int r = 0; r < HandlingEventLog.Count; r++)
 94             {
 95                 //创建行row
 96                 IRow row = sheet.CreateRow(r + 1);
 97                 row.CreateCell(0).SetCellValue(HandlingEventLog[r].Code);
 98                 row.CreateCell(1).SetCellValue(HandlingEventLog[r].Remark);
 99                 row.CreateCell(2).SetCellValue(HandlingEventLog[r].StartTime);
100                 row.CreateCell(3).SetCellValue(HandlingEventLog[r].EndTime);
101             }
102         }

其中,Statistics,HumidifyLog,HumidifyEventLog,HandlingEventLog为自定义类的列表。

参考:https://www.cnblogs.com/jicheng/p/5961257.html

https://www.cnblogs.com/zqyw/category/1070314.html

原文地址:https://www.cnblogs.com/zwh1993/p/12222391.html

时间: 2024-10-16 13:24:44

C# NPOI导出数据到Excel的相关文章

NPOI导出数据到Excel

NPOI导出数据到Excel 前言 Asp.net操作Excel已经是老生长谈的事情了,可下面我说的这个NPOI操作Excel,应该是最好的方案了,没有之一,使用NPOI能够帮助开发者在没有安装微软Office的情况下读写Office 97-2003的文件,支持的文件格式包括xls, doc, ppt等.NPOI是构建在POI 3.x版本之上的,它可以在没有安装Office的情况下对Word/Excel文档进行读写操作. 方法 先去官网:http://npoi.codeplex.com/下载需要

导出数据到Excel方法总结

导出数据到Excel方法总结 一,问题的提出 近来在网上经常有人问怎样把数据导出到Excel中?针对这个问题网上也有很多资料.大都比较的琐碎.本人当前从事的项目中,刚好涉及到这些内容.就顺便做了一些归纳整理.共享给大家.避免大家再花费很多时间研究这个老生长谈的问题. 二,解决方法 1.       用NPOI导出数据到Excel. 简介:NPOI是一个开源的dotnet类库,官方网站:http://npoi.codeplex.com/. 优点:支持Excel 2003格式,读写速度快,基于.NE

asp.net使用MVC4框架基于NPOI做导出数据到Excel表

NPOI 是 POI 项目的 .NET 版本.POI是一个开源的Java读写Excel.WORD等微软OLE2组件文档的项目. 使用 NPOI 你就可以在没有安装 Office 或者相应环境的机器上对 WORD/EXCEL 文档进行读写.NPOI是构建在POI 3.x版本之上的,它可以在没有安装Office的情况下对Word/Excel文档进行读写操作.使用 NPOI 你就可以在没有安装 Office 或者相应环境的机器上对 WORD/EXCEL 文档进行读写.NPOI是构建在POI 3.x版本

MVC导出数据到EXCEL新方法:将视图或分部视图转换为HTML后再直接返回FileResult

MVC导出数据到EXCEL新方法:将视图或分部视图转换为HTML后再直接返回FileResult 导出EXCEL方法总结:MVC导出数据到EXCEL的方法有很多种,常见的是: 1.采用EXCEL COM组件来动态生成XLS文件并保存到服务器上,然后转到该文件存放路径即可:优点:可设置丰富的EXCEL格式,缺点:需要依赖EXCEL组件,且EXCEL进程在服务器中无法及时关闭,以及服务器上会存留大量的不必要的XLS文件: 2.设置输出头为:application/ms-excel,再输出拼接的HTM

导出数据到Excel表格

开发工具与关键技术:Visual Studio 和 ASP.NET.MVC,作者:陈鸿鹏撰写时间:2019年5月25日123下面是我们来学习的导出数据到Excel表格的总结首先在视图层写导出数据的点击事件function 自定义点击事件名(){//然后这里获取当前表格数据的筛选条件var 自定义下拉框名 = $("#下拉框id “).val();//后面根据你的条件数依次写……var 自定义文本框名 = $(”#文本框id ").val(); //然后这里写判断它是否为空 if (自定

Dynamics CRM导出数据到Excel

原创地址:http://www.cnblogs.com/jfzhu/p/4276212.html 转载请注明出处 Pivot Table是微软BI的一个重要工具,所以这里讲一下Dynamics CRM将数据导出到Excel的功能. (一)导出数据到Excel的三种类型 下图中点击红框内的按钮EXPORT TO EXCEL,会弹出三个选项 第一个是一个静态工作表,将当前页面内的数据导出到一张表内.该数据是静态的,也就是说CRM里的数据发生改变,工作表的数据不会发生相应修改.如果勾选了”Make t

php导出数据到excel,防止身份证等数字字符格式变成科学计数的方-------缺点,必须使用table tr td

php导出数据到excel,防止身份证等数字字符格式变成科学计数的方 时间:2012-08-17 13:50来源:未知 作者:硅峰网络-红豆 点击:219次 在网上查了很多资料知道解决办法大概有两个:一是在身份证字段前加个英文单引号,二是设置Excel的格式为文本格式. 我试用过第一种确实可以显示,但是有个'号在那里感觉确实不是很好,虽然听说不影响,但是需要用户点击那个单元格那个单引号才消失,并且在该 在网上查了很多资料知道解决办法大概有两个:一是在身份证字段前加个英文单引号,二是设置Excel

PHP导出数据到Excel

PHP导出数据到Excel 在Web开发中经常需要将一些数据导入到Excel表格中,比如需要导出符合条件的用户数据,导出项包括姓名.性别.***号.联系方式等等.那么问题来了,在导出的数据中如果出现比较长的数值类型的项时,默认按科学计数法表示,比如***号这显然不是我们需要的,那么我们怎么做才能让数据按我们要求的格式显示呢? 查到一些相关资料,摘抄如下: 首先,我们了解一下excel从web页面上导出的原理.当我们把这些数据发送到客户端时,我们想让客户端程序(浏览器)以excel的格式读取它,所

CodeIgniterCodeigniter+PHPExcel导出数据到Excel文件

解压压缩包里的Classes文件夹中的内容到application\libraries\目录下,目录结构如下:--application\libraries\PHPExcel.php--application\libraries\PHPExcel(文件夹)修改application\libraries\PHPExcel\IOFactory.php文件--将其类名从PHPExcel_IOFactory改为IOFactory,遵从CI类命名规则.--将其构造函数改为public $this->loa