昨天在微信群里听到老牌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. 痞子衡嵌入式:一表全搜罗常见移动通信标准(1-5G, GSM/GPRS/CDMA/LTE/NR...)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是移动通信标准. 移动无线网络已经成为我们生活.学习.娱乐不可缺少的必备品,而移动无线通信技术本身也在不断地更新换代.从1986年诞生第一 ...

  2. Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现

    自Spring Cloud Alibaba发布第一个Release以来,就备受国内开发者的高度关注.虽然Spring Cloud Alibaba还没能纳入Spring Cloud的主版本管理中,但是凭 ...

  3. 【转载】C#处理空格和换行

    使用C#处理字符串是一个常见的情况,当字符串中含有空格或者换行符号的时候,如果业务需要,我们可以通过相应的方法将之处理掉,处理成不含空格和换行符号的字符串,处理的过程使用到正则表达式. 具体函数处理的 ...

  4. 《Web安全深度剖析》

    书名 <Web安全深度剖析> 图片  时间  2018-11月   总结  算是我安全的启蒙书  前五章都是工具  看完差不多算个脚本小子 后面的实战感觉很空洞没什么实战

  5. 学JAVA第十一天,属性与方法

    今天清明节假期结束第二天,昨天请了一天假去考科目二,还好考过了,O(∩_∩)O哈哈~~~~ 今天老师讲了类的属性与方法的使用 就用代码来说明吧: package pkg3;public class T ...

  6. vue项目利用apicloud打包成apk过程

    最近公司要求我们用apicloud做一个app,正好利用这个机会学习下app的制作过程~ 页面的开发过程跟我们平时开发一样,利用vue把页面全部完成,最后进行npm run build将项目打包. 接 ...

  7. word表格转html后去除冗余代码

    word可以另存为html文件,通过这个功能,可以快速实现网页展示word内容,特别是表格的编辑,它包含tr.td.th.rowspan.colspan等内容,直接写比较繁琐. 但word转换过来的h ...

  8. C#设置电脑时间帮助类

    using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using S ...

  9. C++析构函数可虚性探究

    C++虚析构函数 析构函数是用来释放对象所申请的资源的函数. 当类内没有自定义的析构函数时,系统会自动调用默认的析构函数. 那么析构函数能否为虚函数呢? 虚函数的意义在于实现“多态性”.即:不同的个体 ...

  10. 智能POS(轻餐、正餐同理)桌台页面已结金额,只做参考,不做对账使用

    智能POS桌台已结金额只用来做参考使用,不做对账保障: 已结金额只有桌台一次结账金额,若存在反结账或退款的情况则不会减去相应的已结金额: 点餐无桌台的订单,金额不做统计: 口碑订单.扫码点餐,金额不做 ...