net core下对于Excel的一些操作及使用

在上一篇[.net core下配置、数据库访问等操作实现]主要介绍了读取配置,数据库操作的一些方法实例,本篇主要介绍下 .net core下针对Excel的相关操作。

对于后台相关的管理系统,Excel导出是基本的功能,下面就简单说下实现该功能的代码实现吧

EPPlus与NPOI的选择

相对于大名鼎鼎的NPOI来说,EPPlus的API更加友好,导出数据的能力也比NPOI更强大点,但在操作Excel的功能上还是NPOI强一点,如果你想导出比较复杂的Excel的话可以使用NPOI,但对于常规需求的话EPPlus基本满足了。

网上也有些两者对比的文章,可以参考下,比如[C# NPOI导出Excel和EPPlus导出Excel比较]

NPOI和EPPlus均已支持 .net core,看不同需求自行选择,这里主要讲下EPPlus的使用。

EPPlus的基本介绍

EPPlus是一个使用Open Office XML(xlsx)文件格式,能读写Excel 2007/2010 文件的开源组件,在导出Excel的时候不需要电脑上安装office。官网地址:http://epplus.codeplex.com/

使用的话直接NuGet上获取对应的dll即可。

但有一点注意,EPPlus不支持2003版本的Excel。

创建保存Excel

单元格赋值

单元格赋值很简单,指定对应的单元格就可以直接赋值,价格遍历循环就可以进行批量的操作了

设置单元格样式

设置字体

设置单元格边框

设置单元格高和宽

设置单元格格式

设置sheet背景

隐藏sheet

图片操作

有时候需求会将某个图片保存至Excel中,代码如下:

Excel加密和锁定

有时候导出的Excel不希望别人修改,可对Excel进行加密,代码如下:

实际demo

首先定义一个通用创建的方法:

然后将转换成类型,以流的方式进行导出:

最后就可以直接进行导出了:

总结

EPPlus总的来说还是比较好用的,也能满足基本需求,导出效率也不错,大家可以尝试下

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180322A1M1Y000?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券