昨天在微信群里听到老牌Excel开发利器NPOI的作者瞿总说4.6.1版本的NPOI已经支持.NET Standard 2.0了,这也就意味着你可以在.NET Core中使用NPOI了。

作者:依乐祝

原文地址 :https://www.cnblogs.com/yilezhu/p/10269281.html

写在前面

曾经的.NET Framework时代就很喜欢使用这个组件来对Excel的进行操作,可是随着.NET Core时代的到来以及NPOI不支持.NET Core所以就找到了园子里的大神杨晓东对NPOI的.NET Core的移植版,可是使用的过程中的如果对这个移植的插件进行深入的使用的话还是有部分问题,可能正如杨晓东大神自己所说:“去年的那个版本是针对于 .NET Core 1.0 的,从发布截止现在在 NuGet 大概有 2K 多的下载量,说明还是有很多同学在使用 NPOI 的,社区中也得到了很多同学的推广。 但是上一个移植的版本也有诸多缺陷和 bug,在 Github 上也收到了一些 Issue 进行反馈,很多 Bug 可能是移植过程中的bug,但是对于这些 Bug 可能我也无能为力,因为 NPOI 的代码是非常庞大和复杂的。”

不过也再次特别感谢下杨晓东大神对NPOI的.NET Core版本的移植也才能让我们在.NET Core1.0以及.NET Core2.0的一段时间内继续使用这个NPOI。

有兴趣的小伙伴可以看下杨晓东大神的版本这里是介绍《NET Core 2.0 开源Office组件 NPOI

因此在得知NPOI的作者瞿总已经完成对NPOI的升级并支持.NET Standard 2.0后特此把这个好消息告诉全体.NET Core开发者们。自此我们又可以尽情的在.NET Core中继续使用这个开源的老牌Office组件了!反正我表示挺开心的!而且如果你在使用的过程中有任何问题都可以在GitHub上对作者提issue,作者也会以迅雷不及掩耳之势之势进行修复

什么是NPOI

说了半天NPOI已经可以在.NET Core中使用了,可能对于新手朋友还是不知道这玩意究竟是什么?其实你可以看看百度百科《NPOI》里面有详细的讲述。我只能跟你说使用 NPOI 你就可以在没有安装 Office 或者相应环境的机器上对 WORD/EXCEL 文档进行读写操作,十分方便。

另外NPOI的原作者的GitHub地址是:https://github.com/tonyqus/npoi

里面也有详尽的描述

如何使用

通过Nuget直接添加NPOI的最新引用即可使用

Install-Package NPOI -Version 2.4.1

然后你就可用像之前一样进行操作了!

但是如果你想运行在Linux上可能需要注意一下:

由于NPOI使用System.Drawing.Common,因此必须在Linux系统上安装libgdiplus和libc6。

Ubuntu 16.04及以上

apt-get install libgdiplus libc6-dev

ln -s /usr/lib/libgdiplus.so /usr/lib/gdiplus.dll

然后就可以在Linux系统上跑起来了!

例子

我们有很多例子可供您学习如何使用NPOI。

请查看https://github.com/tonyqus/npoi/tree/master/examples

文件夹名称 示例描述
HSSF 有关Excel 97-2003格式的示例(* .xls)
XSSF 有关Excel 2007+格式的示例(* .xlsx)
XWPF 有关Word 2007+格式(* .docx)的示例
POIFS 关于OLE2文档/ ActiveX文档的示例
OOXML 有关OpenXML文件的示例

第三方博客

使用NPOI - C#和WEB API导出到Excel

使用NPOI在.NET中构建漂亮的XLS文档

如何使用NPOI阅读Excel 2007文档

如何使用NPOI创建Excel电子表格

NPOI 2.0 - 将Excel XLS文档转换为HTML格式

NPOI与Excel表和动态图表

总结

今天给大家介绍了一款.NET Core Office开发利器NPOI已经支持.NET Core了!希望对大家有所帮助!今后我们的实战教程之CMS系统里面对Excel的操作也将使用这个组件,届时我讲实战讲解如何使用这个组件,最后感谢大家的阅读。

老牌开源Office操作组件NPOI现已支持.NET Core的更多相关文章

  1. 开源RabbitMQ操作组件

    开源RabbitMQ操作组件 对于目前大多的.NET项目,其实使用的技术栈都是差不多,估计现在很少用控件开发项目的了,毕竟一大堆问题.对.NET的项目,目前比较适合的架构ASP.NET MVC,ASP ...

  2. 开源word操作组件DocX的记录

    开源word操作组件DocX的记录 使用开源word操作组件DocX的记录 1.DocX简介 1.1 简介 DocX是一个在不需要安装word的情况下对word进行操作的开源轻量级.net组件,是由爱 ...

  3. DocX开源WORD操作组件的学习系列四

    DocX学习系列 DocX开源WORD操作组件的学习系列一 : http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_sharp_001_docx1.htm ...

  4. DocX开源WORD操作组件的学习系列三

    DocX学习系列 DocX开源WORD操作组件的学习系列一 : http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_sharp_001_docx1.htm ...

  5. DocX开源WORD操作组件的学习系列二

    DocX学习系列 DocX开源WORD操作组件的学习系列一 : http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_sharp_001_docx1.htm ...

  6. DocX开源WORD操作组件的学习系列一

    DocX学习系列 DocX开源WORD操作组件的学习系列一 : http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_sharp_001_docx1.htm ...

  7. 使用开源word操作组件DocX的记录

    1.DocX简介 1.1 简介 DocX是一个在不需要安装word的情况下对word进行操作的开源轻量级.net组件,是由爱尔兰的一个叫Cathal Coffey的博士生开发出来的.DocX使得操作w ...

  8. 开源:Taurus.MVC 框架 (已支持.NET Core)

    为什么要创造Taurus.MVC: 记得被上一家公司忽悠去负责公司电商平台的时候,情况是这样的: 项目原版是外包给第三方的,使用:WebForm+NHibernate,代码不堪入目,Bug无限,经常点 ...

  9. c#开源Excel操作库--NPOI

    前言 以前也用C#操作过excel,用的是OleDb或者offic的com组件,但是总是非常的麻烦,依赖限制较多,所以果断寻找开源方案,JAVA上面已经有非常成熟的POI,就这样,找到了移.Net的移 ...

随机推荐

  1. DriverManager 驱动管理器类简介 JDBC简介(三)

    驱动程序管理器是负责管理驱动程序的,驱动注册以后,会保存在DriverManager中的已注册列表中 后续的处理就可以对这个列表进行操作 简言之,驱动管理器,就是字面含义,主要负责就是管理 驱动 概述 ...

  2. SpringBoot基础系列-SpringBoot配置

    原创作品,可以转载,但是请标注出处地址:https://www.cnblogs.com/V1haoge/p/9990680.html SpringBoot基础系列-SpringBoot配置 概述 属性 ...

  3. Docker跨主机通信(九)--技术流ken

    容器网络 在前面的博客中已经详细讲解了几种网络方案: none, host, bridge,user-defined.但是他们只是解决了单个主机间的容器的通信问题,并不能实现多个主机容器之间的通信.本 ...

  4. DSAPI多功能组件编程应用-图形图像篇(中)

    [DSAPI.DLL下载地址]   说到计算机上使用代码来处理各种图像特效,是一份太有挑战性的工作.以下涉及的所有图像效果均不是从网上复制的源码,而是本人试验数次并编写的,所以原理上会和网上的有所不同 ...

  5. 6.JAVA-链表实例

    1.实现链表的步骤 1).实现Node节点类(用来保存链表中每个节点的数据,以及下一个节点成员) 2).实现LinkList链表类(用来封装Node节点类,和用户实现交互) 3).在LinkList类 ...

  6. Java学习笔记——判断字符Character类

    常用方法 下面所说的均是静态方法,也就是可以不创建对象直接调用 例:Character.isLetter(char c); isLetter 判断参数是否为字母(不分大小写),返回结果 isDigit ...

  7. 原生js及H5模拟鼠标点击拖拽

    一.原生js 1.拖拽的流程动作 鼠标按下 触发onmousedown事件 鼠标移动 触发onmousemove事件 鼠标松开 触发onmouseup事件 2.注意事项: 要防止div移出可视框,要限 ...

  8. HTML5 Video player jQuery plugin

    <!DOCTYPE html> <html lang="en" > <head> <meta charset="utf-8&qu ...

  9. JS判断类型

    JS中的typeof方法可以查看数据的类型,如下: console.log(typeof 2); // number console.log(typeof "2"); // str ...

  10. WebView断网提示

    转载请标明出处,维权必究:https://www.cnblogs.com/tangZH/p/9913968.html 重写WebViewClient中的方法,然后WebView.setWebViewC ...