欢迎您成为我的读者,希望这篇文章能给你一些帮助。

前言

今天咱们一起来看看在C#中如何使用NPOI第三方控件进行数据的导出。

关于NPOI插件网上资料很多,大家感兴趣的可以去看看。

本文使用的版本是NPOI 2.5.1。

大家可在包管理器NuGet或者下面网址进行下载。

http://npoi.codeplex.com/
快速下载地址:
//files.cnblogs.com/files/netxiaohui/npoi.2.5.1.zip

很多时候,我们在进行数据导出到Excel文件时,在windows平台需要使用到office组件才可以成功导出,也就是说电脑很多时候都必须安装office才可以。今天分享的这个组件,可以在目标主机不安装office的情况下,对Word或Excel进行读写操作。

NPOI的优势

  • 开源,可以完全免费使用

  • 包含大部分EXCEL的特性

  • 支持处理的文件格式包括(xls/xlsx/docx)

  • 同时支持导入导出

  • 基于.net 2.0/4.0也支持xlsx和docx格式

  • 不需要在服务器或目标主机安装office

  • 它不仅对Excel进行操作,可以对doc,ppt文件进行操作

NPOI内部构成

NPOI是一个开源的C#读取Excel、Word等微软OLE2组件文件的项目。

在使用NPOI的过程中,有一些名称需要提前了解下。

Workbook工作薄 一个文件包含一个工作簿,一个工作簿可以包含若干个工作表Sheet。

Sheet工作表

HSSFWorkbook用于处理xls文件类型的NPOI操作类,继承自IWorkbook。

XSSFWorkbook处理xlsx文件类型的NPOI操作类,也继承自IWorkbook。

操作xlsx文件进行数据导出工作时,主要有以下几个步骤需要注意。

1、声明XSSFWorkbook实例。

2、利用声明并实例化的工作簿创建其工作表。

3、写入Excel表头和表数据

4、将实例化的工作簿写入流文件中。

实际的导出工作就是上面说的四步,但是在内部需要具体进行一些表格样式、输出字体样式的调整。

具体代码如下:

using (FileStream fs = new FileStream(sfd.FileName, FileMode.OpenOrCreate, FileAccess.ReadWrite)){XSSFWorkbook workbook = new XSSFWorkbook();ISheet sheet = workbook.CreateSheet("Sheet1");string[] excelHeader = new string[] {"点名称","编号", "时间", "埋深(m)", "水深(m)", "测试01", "测试02", "测试03", "测试04", "测试05", "测试06", "测试06", "测试07", "测试08", "测试09"};IRow headerRow = sheet.CreateRow(0);for (int i = 0; i < excelHeader.Length; i++){headerRow.CreateCell(i).SetCellValue(excelHeader[i]);}int count = mpInfoDictionary.Count;for (int i = 0; i < count; i++){MeasurementPointInfo mpi = mpInfoDictionary[i];IRow row = sheet.CreateRow(i + 1);row.CreateCell(0).SetCellValue("名称");row.CreateCell(1).SetCellValue(mpi.nSeq);row.CreateCell(2).SetCellValue(mpi.nDate.ToString());row.CreateCell(3).SetCellValue(mpi.dbDepth);row.CreateCell(4).SetCellValue(mpi.dbWaterDepth);row.CreateCell(5).SetCellValue(mpi.dbCPTDInfo);row.CreateCell(6).SetCellValue(mpi.dbCPTDOffInfo);row.CreateCell(7).SetCellValue(mpi.dbOneDragDisplaceDSe);row.CreateCell(8).SetCellValue(mpi.dbOneDragDisplaceDSn);row.CreateCell(9).SetCellValue(mpi.dbOneDragDisplaceDSu);row.CreateCell(10).SetCellValue(mpi.dbCPInfo);row.CreateCell(11).SetCellValue(mpi.dbCPOffInfo);row.CreateCell(12).SetCellValue(mpi.dbDisplaceSE);row.CreateCell(13).SetCellValue(mpi.dbDisplaceSN);row.CreateCell(14).SetCellValue(mpi.dbDisplaceSU);    }workbook.Write(fs);           //写入到Excel中          }

可以导出如下所示表格:

寄语

人生短暂,我不想去追求自己看不见的,我只想抓住我能看得见的。

原创不易,给个关注。

我是阿辉,感谢您的阅读,如果对你有帮助,麻烦点赞、转发  谢谢。

很高兴能和您成为朋友。

推荐阅读

分享给同做程序员的你我他

毕业四年,我当初是如何走上编程这条路的!

物联网工程专业的迷茫与抉择

C#使用NPOI导出Excel文件相关推荐

  1. asp.net Mvc 使用NPOI导出Excel文件

    1.新建MVC项目,新建控制器.视图 添加控制器: 添加视图(将使用布局页前面的复选框里的勾勾去掉) 2.在Models里新建一个类 public class Shop{/// <summary ...

  2. Winforn中通过NPOI导出Excel时通过XSSFClientAnchor和XSSFPicture添加图片

    场景 Winform中通过NPOI导出Excel的三种方式(HSSFWorkbook,XSSFWorkbook,SXSSFWorkbook)附代码下载: https://blog.csdn.net/B ...

  3. Npoi导出excel整理(附源码)

    前些日子做了一个简单的winform程序,需要导出的功能,刚开始省事直接使用微软的组件,但是导出之后发现效率极其低下,绝对像web那样使用npoi组件,因此简单的进行了整理,包括直接根据DataTab ...

  4. .NET NPOI导出Excel详解

    http://www.cnblogs.com/yinrq/p/5590970.html .NET NPOI导出Excel详解 NPOI,顾名思义,就是POI的.NET版本.那POI又是什么呢?POI是 ...

  5. NPOI导出Excel示例

    摘要:使用开源程序NPOI导出Excel示例.NPOI首页地址:http://npoi.codeplex.com/,NPOI示例博客:http://tonyqus.sinaapp.com/. 示例编写 ...

  6. C#利用NPOI导出Excel

    C#利用NPOI导出Excel 第一篇文章 View Code 1 using System; 2 using System.Collections.Generic; 3 using System.L ...

  7. NPOI导出Excel 65536限制

    1 #region NPOI 导出excel数据超65535自动分表 2 /// <summary> 3 /// DataTable转换成Excel文档流,并输出到客户端 4 /// &l ...

  8. 把服务器sql数据库导出excel文件,将mysql数据库数据以Excel文件的形式导出

    最近在工作中,领导让从数据库中导出一些数据并存放到Excel表格中,网上有许多教程,下面是我总结的其中俩种方法. 从数据库管理工具中导出(navicat) 在navicat导出数据导Excel中还是比 ...

  9. C#利用Microsoft.Office.Interop.Excel导出excel文件

    导入Microsoft.Office.Interop.Excel.dll文件引用   为了能够导出excel文件,由于使用的是Microsoft.Office.Interop.Excel,所以我们首先 ...

最新文章

  1. python pandas读取excel-python pandas模块简单使用(读取excel为例)
  2. Esfog_UnityShader教程_前言
  3. 测试安装详解_Linux的/opt目录(测试实用篇)
  4. jsp复选框追少选择一个否则不能提交_Filecoin的惩罚机制/至联云IPFS:选择无良矿商,你的抵押币就回不来了...
  5. SQL Android
  6. centos6.0的gnome桌面的一个大bug
  7. spring-第七篇之深入理解容器中的bean
  8. 【滤波器】基于matlab升余弦滤波器【含Matlab源码 993期】
  9. Linux学习笔记1 - Linux系统简介
  10. 最大流(Max Flow)
  11. python抓取漫画(破解js)
  12. 新浪微博登录 java_Java实现模拟登录新浪微博
  13. 好用的web报表设计器(报表工具)
  14. Windows Subsystem for Android (WSA) 下载:在 Windows 11 上运行 Android 应用
  15. 【NanoPi T2】 6.uboot gmac网卡驱动(2) - 寄存器介绍
  16. fortran 语法学习之二
  17. 2022起重机司机(限桥式起重机)特种作业证考试题库及在线模拟考试
  18. PixiJS 渲染优化
  19. 美团技术团队-日志导致线程Block的这些坑,你不得不防
  20. 网优谷与你一起嗅出未来互联网新趋势~

热门文章

  1. NHibernate获取实体配置信息(表名,列名等等)
  2. .net知识和学习方法系列(十四)TraceListener的应用
  3. vc如何打开plt图像_图像基本操作-open cv
  4. Ubuntu宿主机与VMware中其他系统虚拟机的互通
  5. Python --- 卸载
  6. JQuery框架2.位置属性|筛选方法|事件
  7. wget整站抓取、网站抓取功能;下载整个网站;下载网站到本地
  8. 【习题 6-7 UVA - 804】Petri Net Simulation
  9. 【转】Python可变长度的函数参数
  10. jquery获取文档高度和窗口高度的例子