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的更多相关文章

  1. NPOI导出数据到Excel

    NPOI导出数据到Excel   前言 Asp.net操作Excel已经是老生长谈的事情了,可下面我说的这个NPOI操作Excel,应该是最好的方案了,没有之一,使用NPOI能够帮助开发者在没有安装微 ...

  2. 导出数据到Excel方法总结

    一,问题的提出 近来在网上经常有人问怎样把数据导出到Excel中?针对这个问题网上也有很多资料.大都比较的琐碎.本人当前从事的项目中,刚好涉及到这些内容.就顺便做了一些归纳整理.共享给大家.避免大家再 ...

  3. 使用npoi.dll导出数据到excel

    .net数据导出excel数据有多种方法,最常用的就是使用office组件,但随之而来的问题也很棘手,又要调权限又要确定是否安装office很是麻烦,最近一个项目中也有数据导出功能,随使用excel模 ...

  4. 导出数据到Excel --使用ExcelReport有感

    先看图,这是几个月前用NPOI写的导出数据到Excel,用了上百行代码,而且难控制,导出来也比较难看 excel打开的效果 下面是我用ExcelReport类库导出到Excel的操作 1.首先引用Ex ...

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

    导出EXCEL方法总结 MVC导出数据到EXCEL的方法有很多种,常见的是: 1.采用EXCEL COM组件来动态生成XLS文件并保存到服务器上,然后转到该文件存放路径即可: 优点:可设置丰富的EXC ...

  6. 使用NPOI导出,读取EXCEL(可追加功能)

    使用NPOI导出,读取EXCEL,具有可追加功能 看代码 using System; using System.Collections.Generic; using System.Text; usin ...

  7. 一个方便且通用的导出数据到 Excel 的类库

    一个方便且通用的导出数据到 Excel 的类库 起源: 之前在做一个项目时,客户提出了许多的导出数据的需求: 导出用户信息 导出业务实体信息 各种查询都要能导出 导出的数据要和界面上看到的一致 可以分 ...

  8. 导出数据到Excel表格

    开发工具与关键技术:Visual Studio 和 ASP.NET.MVC,作者:陈鸿鹏撰写时间:2019年5月25日123下面是我们来学习的导出数据到Excel表格的总结首先在视图层写导出数据的点击 ...

  9. 1.ASP.NET MVC使用EPPlus,导出数据到Excel中

    好久没写博客了,今天特地来更新一下,今天我们要学习的是如何导出数据到Excel文件中,这里我使用的是免费开源的Epplus组件. 源代码下载:https://github.com/caofangshe ...

随机推荐

  1. Dapr 和 Azure Functions : Hello world

    本篇文章内容来自 https://charliedigital.com/2021/07/01/dapr-and-azure-functions-part-1-hello-world/ ,是按这篇文章的 ...

  2. Redis集群安装详细步骤

    环境: Centos7    redis3.0 三台虚拟机主机名分别为 master   node1  node2 如果单机的时候设置过密码最好把密码去掉,避免位置的错误. 拍个快照方便恢复. 1.创 ...

  3. c语言之sizeof总结+strlen函数

    一.sizeof的概念 Sizeof是C语言的一种单目操作符,如C语言的其他操作符++.–等.它并不是函数.Sizeof操作符以字节形式给出了其操作数的存储大小.操作数可以是一个表达式或括在括号内的类 ...

  4. linux中vim编辑器三种模式及常用命令的使用

    Linux命令经常使用才会烂熟于心 命令行模式: 移动光标: 向下左右箭头可以移动光标: 将光标移动到行尾:$; 将光标移动到行头:^: 将光标移动到页尾:shift+g; 将光标移动到页头:1+sh ...

  5. 判断js对象是否为空

    let _isEmptyObj = function(obj) { for(var key in obj) { return false; } return true; }

  6. Static块和类加载顺序

    原创:转载需注明原创地址 https://www.cnblogs.com/fanerwei222/p/11451040.html  版本:Java8 直接上代码: public class Stati ...

  7. AppiumForWin安装

    尝试安装Windows版本的Appium 参考:http://www.cnblogs.com/fnng/p/4540731.html 第一步:安装node https://nodejs.org/en/ ...

  8. Solution -「LOCAL」「cov. 牛客多校 2020 第三场 I」礼物

    \(\mathcal{Description}\)   给定排列 \(\{a_n\}\),求字典序第 \(K\) 大的合法排列 \(\{b_n\}\).称一个排列 \(\{p_n\}\) 合法,当且仅 ...

  9. Large Sacle Distributed Deep Networks

    本文是谷歌发表在NeurIPS 2012上的一篇论文,主要讨论了在几万个CPU节点上训练大规模深度网络的问题,并提出了一个名为DistBelief的软件框架.在该框架下实现了两种大规模分布式训练算法: ...

  10. 解决POI多线程导出时数据错乱问题

    项目里有一个导出功能,但随着数据量大量上涨,导出时间长到不可忍受,遂重写此接口,多线程导出的代码并不复杂,每页有一条线程负责写入,利用线程池去调度,用countdownLatch保证在所有数据写完后再 ...