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總的來說還是比較好用的,也能滿足基本需求,導出效率也不錯,大家可以嘗試下
TAG:程序員的奇葩生活 |