什么是NPOI?

NPOI 它是 POI 项目的 .NET 版本号。

POI是一个开源的Java读写Excel、WORD等微软OLE2组件文档的项目。

使用 NPOI 你就能够在没有安装 Office 或者对应环境的机器上对 WORD/EXCEL 文档进行读写。NPOI是构建在POI 3.x版本号之上的。它能够在没有安装Office的情况下对Word/Excel文档进行读写操作。

传统操作Excel遇到的问题

1、假设是.NET,须要在server端装Office。且及时更新它。以防漏洞,还须要设定权限同意.NET訪问COM+,假设在导出过程中出问题可能导致server宕机。

2、Excel会把仅仅包括数字的列进行类型转换,本来是文本型的。Excel会将其转成数值型的。比方编号000123会变成123。

3、导出时,假设字段内容以“-”或“=”开头。Excel会把它当成公式进行,会报错。

4、Excel会依据Excel文件前8行分析数据类型,假设正好你前8行某一列仅仅是数字。那它会觉得该列为数值型,自己主动将该列转变成类似1.42702E+17格式,日期列变成包括日期和数字的。

NPOI优势

1、您能够全然免费使用该框架

2、包括了大部分EXCEL的特性(单元格样式、数据格式、公式等等)

3、专业的技术支持服务(24*7全天候) (非免费)

4、支持处理的文件格式包含xls,xlsx, docx.

5、採用面向接口的设计架构( 能够查看 NPOI.SS 的命名空间)

6、同一时候支持文件的导入和导出

7、基于.net 2.0 也支持xlsx 和 docx格式(当然也支持.net 4.0)

8、来自全世界大量成功且真实的測试Cases

9、大量的实例代码

11、你不须要在server上安装微软的Office。能够避免版权问题。

12、使用起来比Office PIAAPI更加方便,更人性化。

13、你不用去花大力气维护NPOINPOI Team会不断更新、改善NPOI。绝对省成本。

注意:以上所有来摘抄于百度

小编理解

传统的是使用ExcelAutomation进行Excel文件读写,对Excel版本号有要求。而且速度慢,有安全性,并发性问题。

传统的做法,请详见一下博客

http://blog.csdn.net/sundenskyqq/article/details/5440976

NPOI是一款轻量级的进行XLS文件读写的开发包,全然是二进制操作。不依赖与Excel。

详细操作

下载NPOI工具包

http://download.csdn.net/detail/zhouchaoqiang/7458821

以后使用的时候,直接加入引用就可以

样例

简介

Workbook 工作薄。sheet页,row行,cell 单元格

我们恐怕对Excel并不陌生吧。上面的几个英文单词,都应该知道是什么意思吧!用NPOI操作的时候。主要是对这几个名字进行的操作

简单的导出操作

Imports NPOI.SS.UserModel
Imports NPOI.HSSF.UserModel
Imports System.IOPublic Class Form1'Workbook 工作薄,sheet页,row行。cell 单元格Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load'创建一个工作薄Dim hssfworkbook As New HSSFWorkbook()'创建一页Dim sheet1 As ISheet = hssfworkbook.CreateSheet("好的")'定义一行Dim rowHeader As IRow = sheet1.CreateRow(0)  '对第一行操作rowHeader.CreateCell(0, CellType.STRING).SetCellValue("你好") '第一个单元格的内容'定义一个数据流Dim stream As Stream = File.OpenWrite("E:/2.XLS")  '保存的路径'写入操作hssfworkbook.Write(stream)'最后会在保存的路径下生成End Sub
End Class

样例

在做机房收费系统的时候。须要依据DataGridView中的数据,如图所看到的。来导出Excel表。

一下是代码。

 Sub ExportToExcell(ByVal DataGrid As DataGridView)'假设dataGrid没有记录的话,给出提示If DataGrid.RowCount = 0 ThenMsgBox("没有记录")Exit SubEnd If'定义保存对话框对象Dim sdfExport As New SaveFileDialog'保存的文件类型sdfExport.Filter = "Excel文件|*.xls"'显示保存对话框If sdfExport.ShowDialog = False ThenReturnEnd If'保存文件名称Dim fileName As String = sdfExport.FileName'文件名称不能为空If fileName = "" ThenMsgBox("文件名称不能为空")Exit SubEnd If'定义写入流Dim stream As Stream'创建一个工作薄Dim workbook As New HSSFWorkbook'创建一页Dim sheet As ISheet = workbook.CreateSheet("导出数据")'创建一行Dim rowHeader As IRow = sheet.CreateRow(0)'写入datagridview的表头For c = 0 To DataGrid.ColumnCount - 1rowHeader.CreateCell(c, CellType.STRING).SetCellValue(DataGrid.Columns(c).HeaderText)Next'通过循环来写入datagrid中的数据For i = 1 To DataGrid.RowCount - 1rowHeader = sheet.CreateRow(i)For b = 0 To DataGrid.ColumnCount - 1rowHeader.CreateCell(b, CellType.STRING).SetCellValue(DataGrid.Rows(i).Cells(b).Value.ToString())NextNext'写入数据流stream = File.OpenWrite(fileName)workbook.Write(stream)'关闭数据流stream.Close()MsgBox("导出成功")End Sub

小结:事实上也没什么,刚才也说了,就是对Workbook,sheet,row,cell的操作,仅仅要你找到所须要的属性,一切OK。当然了NPOI对Excel的操作功能还有非常多。假设大家有兴趣的话。能够參见下面博客。

http://www.cnblogs.com/atao/category/209358.html

版权声明:本文博主原创文章,博客,未经同意不得转载。

转载于:https://www.cnblogs.com/blfshiye/p/4855853.html

Excel阅读器NPOI相关推荐

  1. excel阅读器Android,Excel阅读器

    Excel阅读器是一款集阅读和编辑于一体的多功能阅读器,专门为excel文本文档设计的.下面是它的便捷功能 软件特色 1.小巧快速,功能更全面,支持查看阅读.修改.编辑.保存等功能,不用下载其他任何工 ...

  2. 近日测试发现所有Excel相关功能均会抛异常,查后发现与福昕阅读器不兼容

    近日测试发现所有Excel相关功能均会抛异常,查后发现与福昕阅读器不兼容 参考文章: (1)近日测试发现所有Excel相关功能均会抛异常,查后发现与福昕阅读器不兼容 (2)https://www.cn ...

  3. Acrobat Reader DC 2020 for mac(最好用的免费PDF阅读器) 2020新增功能

    adobe acrobat reader dc 2020 for mac是一款非常好用的pdf阅读器!acrobat reader dc 2020 Mac免费版功能非常全面,可以帮助用户轻松的对pdf ...

  4. opencv4快速入门pdf_云复工提升工作效率之九 福昕PDF阅读器

    福昕PDF阅读器核心采用福昕风腾PDF电子文档处理技术,比肩Adobe Acrobat Reader PDF处理技术,性能稳定.运行速度快,可以对PDF进行新建.压缩.加密.合并.注释.编辑.签名.翻 ...

  5. 10 款免费 PDF 阅读器软件工具分享

    无论您是企业主还是大学学生,寻找 PDF 阅读器来帮助组织 PDF 并与之交互是绝对必要的.棘手的部分是找到适合您需求的那个. 您可能在工作中打开.编辑.创建.导出.签名或至少保存了 PDF.所以可以 ...

  6. pdf阅读器,pdf阅读器大全,最好pdf阅读器排行,pdf阅读器下载

    pdf阅读器第一名:Adobe Reader V8.1.0 简体中文版 PDF (Portable Document Format)文件格式是电子发行文档的事实上的标准,Adobe Acrobat R ...

  7. 最好用的mac免费PDF阅读器是什么?

    adobe acrobat reader dc 2020 for mac是一款非常好用的pdf阅读器!acrobat reader dc 2020 Mac免费版功能非常全面,可以帮助用户轻松的对pdf ...

  8. 有什么PDF阅读器?告诉你三个好用的PDF阅读软件

    PDF文件大家在日常工作中,想必都经常会使用到它,因此我们也就有了比较大的阅读和编辑需求,那么也就意为着有一个好的PDF阅读器是必不可少的,但如今市面上的PDF阅读器众多,那么你们知道有哪些好用的PD ...

  9. Python实现的免费pdf阅读器

    Python以其大量的库和扩展而闻名,每个库和扩展都有不同的特性.属性和用例.为了处理 PDF 文件,pdfboss 提供了pdfboss工具包,它能够处理.提取.合并多个页面.加密 PDF 文件等等 ...

最新文章

  1. LeetCode Number of Islands(flood fill)
  2. 我在ChinaUnix上看到的有点点用的帖子
  3. microsoft已暂时停用你的用户_Windows10 20年10月重大更新来了,但它已存在问题
  4. myNote app debug - page render
  5. 清华镜像源安装 NGboost XGboost Catboost
  6. django-模型类管理器
  7. c# msi中加入驱动_MongoDB的C#驱动基本使用
  8. linux下mysql默认安装目录和常用命令
  9. CVE-2014-6332 修改浏览器安全属性开启Godmode
  10. ElasticSearch分布式架构原理
  11. webservice wsimport 报错
  12. 人声歌姬语音合成器+全套拓展 – Yamaha Vocaloid 4.3.0 + ALL Libraries WiN
  13. 苹果手机配对手表总是显示服务器,苹果手表连接手机为什么显示要更新
  14. CANoe测试TC8的环境搭建以及带有VLAN标签的DUT网卡该如何配置CANoe测试环境
  15. linux的OOM killer
  16. Python初级项目之随机漫步的Matplotlib实现
  17. 【亲近自然亲子营】 世外桃源”享受野趣,双山邂逅浪“慢”~旅程
  18. webpack中文官网
  19. Java_Set接口
  20. AccessViolationException

热门文章

  1. 【Markdown编辑器实用技巧】
  2. Android中的Cursor
  3. 损坏的映像 错误0xc0000020
  4. windows 10中使用docker Client.Timeout exceeded while awaiting headers
  5. 在C和C++定义最大最小整数值
  6. 【231】罗技优联接收器配对使用方法
  7. Word无法打开该文件,因为文件格式与文件扩展名不匹配 | 无法从该位置打开扩展名为.asd的文件
  8. C# 实现 简体<--->繁体 的互相转换
  9. CRM对接企业微信日程快速实现提醒功能
  10. linux挂载windows共享目录报错,linux通过cifs挂载windows共享目录