Epplus操作Excel基礎詳解 1.什麼是Epplus Epplus是一個使用Open Office XML文件格式,能讀寫Excel2007/2010文件的開源組件,在導出Excel的時候不需要電腦上安裝office。 其中,Open Office XML文檔格式包括我們常見的xlsx、doc ...
Epplus操作Excel基礎詳解
1.什麼是Epplus
Epplus是一個使用Open Office XML文件格式,能讀寫Excel2007/2010文件的開源組件,在導出Excel的時候不需要電腦上安裝office。
其中,Open Office XML文檔格式包括我們常見的xlsx、docx、pptx等,換而言之,我們常見的這些格式的文件都是基於捆綁XML文件的,使用Epplus操作的本質是通過操作XML文件去操作xlsx。XML,是一種可擴展標記語言,在電腦中,標記指電腦能理解的信息符號,它提供了統一的方法去描述和交換獨立於應用程式的結構化數據。使用XML來為Excel工作薄和Word文檔提供創建內容的能力。XML在.NET平臺之中也具有一席之地,XML解析器在.NET Framework中,由System.XML命名控制項提供的。
我們基於.NET平臺使用Epplus組件操作xlsx我們需要添加OpenOfficeXML命名空間。Epplus可以實現Excel上的各種基本功能(如導入導出數據、圖表、VBA、數據透視表、加密、數據驗證等),唯一缺點是不支持導出2003版Excel。
2.使用Epplus創建Excel
首先,添加Epplus的dll文件到項目中,同時在程式中,添加OpenOfficeXML命名空間。
1.在using語句中,使用ExcelPackage創建ZIP包對象,並且可以在package中傳入路徑參數。
using (ExcelPackage package=new ExcelPackage(new FileInfo("D:\\test.xslx"))) { }
在這裡,我需要向大家詳細解釋一下Epplus-----Open Office XML格式的組件了。Open Office XML格式本身就是基於XML技術與ZIP技術實現的。XML技術,讓代碼實現了對Excel工作簿和word文檔的操作;ZIP技術,實現了多文件壓縮歸檔,讓如今的Excel和word還是單文檔形式。換而言之,就是如今的07版之後的,excel以及word其實質是一個捆綁了XML文件的ZIP包。
2.使用ExcelWorksheet創建表對象
using (ExcelPackage package=new ExcelPackage(new FileInfo("D:\\test.xlsx"))) { ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("test1"); worksheet = package.Workbook.Worksheets.Add("test2"); }
在using語句塊中,我們可以創建多個worksheet,但worksheet的名稱不能重覆,否則會報錯。
worksheet在這裡有兩個作用,其一,創建了表對象,在Excel文件中,生成了一張表格;
其二,為後面對Excel表格的各種屬性的更改以及操作實施的方法提供了一個有效的介面。
3.使用Package.save()保存Excel
using (ExcelPackage package=new ExcelPackage(new FileInfo("D:\\test.xlsx"))) { ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("test1"); worksheet = package.Workbook.Worksheets.Add("test2"); package.Save(); }
只有使用,package.Save()函數後,Epplus組件才會將excel按初始化傳入的路徑在本地磁碟上進行保存。
3.使用Epplus對Excel表的操作
1.添加數據
Epplus中給單元格賦值非常簡單,兩種方法:(ps:Epplus的所有行列數都是以1開始的)
worksheet.Cells[1, 1].Value = "名稱";//直接指定行列數進行賦值 worksheet.Cells["A1"].Value = "名稱";//直接指定單元格進行賦值
2.表格樣式設置
到了這裡,大家應該可以明白,Epplus組件對Excel的所有操作,均是在Epplus組件內部完成的。
Epplus組件工作流程:首先創建ZIP包對象ExcelPackage,隨後在包對象中通過workbook索引表對象ExcelWorksheet。對錶的數據導入或導出,以及表格的格式設置,均是對worksheet進行設置或操作。