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
C# NPOI导出数据到Excel的更多相关文章
- NPOI导出数据到Excel
NPOI导出数据到Excel 前言 Asp.net操作Excel已经是老生长谈的事情了,可下面我说的这个NPOI操作Excel,应该是最好的方案了,没有之一,使用NPOI能够帮助开发者在没有安装微 ...
- 导出数据到Excel方法总结
一,问题的提出 近来在网上经常有人问怎样把数据导出到Excel中?针对这个问题网上也有很多资料.大都比较的琐碎.本人当前从事的项目中,刚好涉及到这些内容.就顺便做了一些归纳整理.共享给大家.避免大家再 ...
- 使用npoi.dll导出数据到excel
.net数据导出excel数据有多种方法,最常用的就是使用office组件,但随之而来的问题也很棘手,又要调权限又要确定是否安装office很是麻烦,最近一个项目中也有数据导出功能,随使用excel模 ...
- 导出数据到Excel --使用ExcelReport有感
先看图,这是几个月前用NPOI写的导出数据到Excel,用了上百行代码,而且难控制,导出来也比较难看 excel打开的效果 下面是我用ExcelReport类库导出到Excel的操作 1.首先引用Ex ...
- MVC导出数据到EXCEL新方法:将视图或分部视图转换为HTML后再直接返回FileResult
导出EXCEL方法总结 MVC导出数据到EXCEL的方法有很多种,常见的是: 1.采用EXCEL COM组件来动态生成XLS文件并保存到服务器上,然后转到该文件存放路径即可: 优点:可设置丰富的EXC ...
- 使用NPOI导出,读取EXCEL(可追加功能)
使用NPOI导出,读取EXCEL,具有可追加功能 看代码 using System; using System.Collections.Generic; using System.Text; usin ...
- 一个方便且通用的导出数据到 Excel 的类库
一个方便且通用的导出数据到 Excel 的类库 起源: 之前在做一个项目时,客户提出了许多的导出数据的需求: 导出用户信息 导出业务实体信息 各种查询都要能导出 导出的数据要和界面上看到的一致 可以分 ...
- 导出数据到Excel表格
开发工具与关键技术:Visual Studio 和 ASP.NET.MVC,作者:陈鸿鹏撰写时间:2019年5月25日123下面是我们来学习的导出数据到Excel表格的总结首先在视图层写导出数据的点击 ...
- 1.ASP.NET MVC使用EPPlus,导出数据到Excel中
好久没写博客了,今天特地来更新一下,今天我们要学习的是如何导出数据到Excel文件中,这里我使用的是免费开源的Epplus组件. 源代码下载:https://github.com/caofangshe ...
随机推荐
- 如何在pyqt中通过调用 SetWindowCompositionAttribute 实现Win10亚克力效果
亚克力效果 在<如何在pyqt中实现窗口磨砂效果>和<如何在pyqt中实现win10亚克力效果>中,我们调用C++ dll来实现窗口效果,这种方法要求电脑上必须装有MSVC.V ...
- Java协变、逆变、类型擦除
协变.逆变 定义 Java中String类型是继承自Object的,姑且记做String ≦ Object,表示String是Object的子类型,String的对象可以赋给Object的对象.而Ob ...
- Java 中的锁原理、锁优化、CAS、AQS 详解!(转)
1.为什么要用锁? 锁-是为了解决并发操作引起的脏读.数据不一致的问题. 2.锁实现的基本原理 2.1.volatile Java编程语言允许线程访问共享变量, 为了确保共享变量能被准确和一致地更新, ...
- Servlet中@WebServlet属性详解
感谢原文作者:想当一只小小攻城狮 原文链接:https://blog.csdn.net/weixin_45493751/article/details/100559683 在Servlet中,设置了@ ...
- sublime中的emmet插件的使用技巧
1.我要生成一个2行3列,宽300px,高500px的表. table[width=300 height=500]>(tr>td{$}*3)*2
- Java线程--CompletionService使用
原创:转载需注明原创地址 https://www.cnblogs.com/fanerwei222/p/11871911.html Java线程--CompletionService使用 public ...
- Throwable以及错误
/* 异常的体系: ----------| Throwable 所以异常或者错误类的超类 --------------|Error 错误 错误一般是用于jvm或者是硬件引发的问题,所以我们一般不会通过 ...
- ansible-playbook实现MySQL的二进制部署
1.ansible服务器配置 1.1 安装ansible # yum -y install ansible 1.2 配置主机清单文件 # vi /etc/ansible/hosts [local] 1 ...
- KC705E增强版基于FMC接口的 Kintex-7 XC7K325T PCIeX8 接口卡
一.板卡概述 本板卡基于Xilinx公司的FPGAXC7K325T-2FFG900 芯片,pin_to_pin兼容FPGAXC7K410T-2FFG900 ,支持PCIeX8.64bit DDR3容量 ...
- Spring AOP应用之一:声明式事务
所有数据访问技术都提供事务处理机制,这些技术提供了API用来开启事务.提交事务完成数据操作,或者在发生错误的时候回滚数据.Spring本身并不支持事务实现,同时只是负责提供标准接口来处理不同数据访问技 ...