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 ...
随机推荐
- C++ 构造函数、析构函数与虚函数的关系
编译环境:windows 10 + VS2105 1.构造函数不能为虚函数 虚函数的作用是为了实现C++多态机制.基类定义虚函数,子类可以重写该虚函数.当子类重写父类虚函数后,父类指针指向子类地址时, ...
- ApacheCN 数据科学译文集 20211109 更新ApacheCN 数据科学译文集 20211109 更新
计算与推断思维 一.数据科学 二.因果和实验 三.Python 编程 四.数据类型 五.表格 六.可视化 七.函数和表格 八.随机性 九.经验分布 十.假设检验 十一.估计 十二.为什么均值重要 十三 ...
- HowToDoInJava 其它教程 1 · 翻译完成
原文:HowToDoInJava 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远. ApacheCN 学习资源 目录 Maven 教程 如何在 ...
- 对线面试官,凭借nginx能一战封神吗?
面试官:小伙子,你对nginx熟悉吗? 我:当然熟悉了,请听我慢慢道来. 心里想,我能吊打面试官吗?今天非得灭一灭面试官的威风,平时都被怼的狗血淋头. 面试官:就你那点花花肠子,咱还不清楚. 我:.. ...
- JAVA char类型
char类型表示的是单个字符类型,任何数据使用单引号括起来的都是表示字符.字符只能有一个字符. 注意:特殊字符的转义序列:转义字符 转义字符的概述: 特殊字符使用"\"把其转化成字 ...
- java+selenium自动化脚本编写
实训项目:创盟后台管理,页面自动化脚本编写 使用工具:java+selenium 1)java+selenium环境搭建文档 2)创盟项目后台管理系统链接 java+selenium环境搭建 一.Se ...
- MXNet源码分析 | KVStore进程间通信
本文主要基于MXNet1.6.0版本进行分析. 在上一篇文章中,我们分析了MXNet中KVStore的进程内通信机制.在这篇文章中,我们主要分析KVStore如何进行多节点分布式通信. 在KVStor ...
- ClickHouse在大数据领域应用实践
一.序言 面向大数据量查询数据库,优点是在较大数据量(千万级)的前提下具有较好的查询性能. 1.应用场景 ClickHouse应用于OLAP(在线分析处理)领域,具体来说满足如下特点使用此技术比较合适 ...
- gdb调试小技巧
1.进入gdb,需要源码,然后gdb+可执行文件,如果要看代码一起的就gdb+可执行文件+tui 2.设置参数 set args +参数 3.设置断点,可以b +行数或者b+函数名字 4.r就是一直跑 ...
- k8s之pod讲解
什么是Pod? Pod 是一组紧密关联的容器集合,它由一组.一个或多个容器组成,每个Pod还包含了一个Pause容器,Pause容器是Pod的父容器,主要负责僵尸进程的回收管理,通过Pause容 ...