老牌开源Office操作组件NPOI现已支持.NET Core

昨天在微信群里听到老牌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。

因此在得知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的操作也将使用这个组件,届时我讲实战讲解如何使用这个组件,最后感谢大家的阅读。

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

时间: 2024-10-10 03:10:52

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

开源RabbitMQ操作组件

开源RabbitMQ操作组件 对于目前大多的.NET项目,其实使用的技术栈都是差不多,估计现在很少用控件开发项目的了,毕竟一大堆问题.对.NET的项目,目前比较适合的架构ASP.NET MVC,ASP.NET WebAPI,ORM(较多Dapper.NET或者其扩展,稍大一些的项目用EF等等),为了提高速度也会采用缓存(.NET自带的Memcache,或者Redis),请求较多的项目,使用Nginx做负载均衡和使用队列等等. 上面简单的介绍一下.NET的项目的技术架构,具体的技术根据具体的需求做

开源word操作组件DocX的记录

开源word操作组件DocX的记录 使用开源word操作组件DocX的记录 1.DocX简介 1.1 简介 DocX是一个在不需要安装word的情况下对word进行操作的开源轻量级.net组件,是由爱尔兰的一个叫Cathal Coffey的博士生开发出来的.DocX使得操作word非常轻便,有利于减轻开发负担,提升程序效率.DocX在Codeplex和Github上都有开源. 1.2 获取与安装 可以在http://docx.codeplex.com/releases下载获取,也可以直接利用Nu

c#开源Excel操作库--NPOI

前言 以前也用C#操作过excel,用的是OleDb或者offic的com组件,但是总是非常的麻烦,依赖限制较多,所以果断寻找开源方案,JAVA上面已经有非常成熟的POI,就这样,找到了移.Net的移植版--NPOI,这样就可以不用依赖任何东西,只用这个库即可. 介绍 开源协议:Apache 2.0 使用 NPOI 你就可以在没有安装 Office 或者相应环境的机器上对 WORD/EXCEL 文档进行读写.NPOI是构建在POI 3.x版本之上的,它可以在没有安装Office的情况下对Word

简单易用的.NET免费开源RabbitMQ操作组件EasyNetQ解析

对于目前大多的.NET项目,其实使用的技术栈都是差不多,估计现在很少用控件开发项目的了,毕竟一大堆问题.对.NET的项目,目前比较适合的架构ASP.NET MVC,ASP.NET WebAPI,ORM(较多Dapper.NET或者其扩展,稍大一些的项目用EF等等),为了提高速度也会采用缓存(.NET自带的Memcache,或者Redis),请求较多的项目,使用Nginx做负载均衡和使用队列等等. 上面简单的介绍一下.NET的项目的技术架构,具体的技术根据具体的需求做出选择.介绍到队列,很多人都会

开源第三方登录组件OAuthLogin2.0 支持QQ,阿里巴巴,淘宝,京东,蘑菇街,有赞等平台

Nuget地址:https://www.nuget.org/packages/OAuthLogin2.0/ 项目结构说明: AuthorizationProviders文件夹下主要存放内置的授权平台. CustomException文件夹主要存放各个平台对应的错误处理机制. 说下涉及到的几个名词: 平台: 定义一个数据结构,用于规范外部交易平台名称.名称是业务系统为Etp分配的唯一标识,由不限长度的字符组成.由于极易发生拼写错误,强烈建议在程序中采用如下规范写法: (1)需要使用某一平台的名称字

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

创建目录 效果图 static void AddToc() { Console.WriteLine("\tAddToc()"); using (var document = DocX.Create(@"docs\Toc2.docx")) { document.InsertTableOfContents("1 目录", TableOfContentsSwitches.O | TableOfContentsSwitches.U | TableOfCo

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

替换文本 private static void ReplaceText() { Console.WriteLine("ReplaceText()"); File.Copy(@"docs\Lists.docx", @"docs\ReplaceText.docx", true); using (var document = DocX.Load(@"docs\ReplaceText.docx")) { //全局替换 documen

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

插入表格 static void LargeTable() { Console.WriteLine("\tLargeTable()"); var _directoryWithFiles = "docs\\"; using (var output = File.Open(_directoryWithFiles + "LargeTable.docx", FileMode.Create)) { using (var doc = DocX.Create(

Vue图片浏览组件v-viewer,支持旋转、缩放、翻转等操作

v-viewer 用于图片浏览的Vue组件,支持旋转.缩放.翻转等操作,基于viewer.js. 从0.x迁移 你需要做的唯一改动就是手动引入样式文件: 1 import 'viewerjs/dist/viewer.css' 安装 使用npm命令安装 1 npm install v-viewer 使用 引入v-viewer及必需的css样式,并使用Vue.use()注册插件,之后即可使用. 12345678910111213141516171819202122232425 <template>