標籤:blog 命名空間 標記語言 組件 ges 工作流程 更改 建立表 設定
Epplus操作Excel基礎詳解 1.什麼是Epplus
Epplus是一個使用Open Office XML檔案格式,能讀寫Excel2007/2010檔案的開源組件,在匯出Excel的時候不需要電腦上安裝office。
其中,Open Office XML文檔格式包括我們常見的xlsx、docx、pptx等,換而言之,我們常見的這些格式的檔案都是基於捆綁XML檔案的,使用Epplus操作的本質是通過操作XML檔案去操作xlsx。XML,是一種可延伸標記語言 (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進行設定或操作。
C#使用第三方組件Epplus操作Excel表