在上一篇[.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总的来说还是比较好用的,也能满足基本需求,导出效率也不错,大家可以尝试下
领取专属 10元无门槛券
私享最新 技术干货