Epplus c# to excel 的 入門學習(一)
阿新 • • 發佈:2021-08-30
Epplus 的 入門學習
winform的介面
參考資料:
匯出Excel之Epplus使用教程1(基本介紹) - Wico - 部落格園 (cnblogs.com)
匯出Excel之Epplus使用教程1(基本介紹)
1、前言
目前Epplus的介紹中文資料很少,我也一直在摸索中使用它,以下是我在使用過程中得到的經驗,寫出來供大家參考。本系列共4章:
2、Epplus介紹
EPPlus是一個使用Open Office XML(xlsx)檔案格式,能讀寫Excel 2007/2010 檔案的開源元件,在匯出Excel的時候不需要電腦上安裝office,官網為:http://epplus.codeplex.com/。需要使用的Epplus的DLL檔案,從官網上下載下來即可。基本上Excel上的各種功能(例如圖表、VBA、資料透視表、加密、資料驗證等)Epplus都能實現,它的一個缺點就是不支援匯出2003版的Excel。
3、建立Excel
首先將epplus的dll檔案新增到專案裡,然後新增引用即可。
建立Excel,所有程式碼均放在這個using語句裡面,在using語句裡面我們可以建立多個worksheet,ExcelPackage後面可以傳入路徑引數:
1 |
using (ExcelPackage package= new ExcelPackage( new FileInfo( @"d:\test.xlsx" ))){ }
|
建立worksheet:
1 2 3 4 |
using (ExcelPackage package= new ExcelPackage( new FileInfo( @"d:\test.xlsx" )))
{
ExcelWorksheet worksheet = package.Workbook.Worksheets.Add( "test" ); //建立worksheet
}
|
儲存Excel:
1 2 3 4 5 |
using (ExcelPackage package = new ExcelPackage( new FileInfo( @"d:\test.xlsx" )))
{
ExcelWorksheet worksheet = package.Workbook.Worksheets.Add( "test" ); //建立worksheet
package.Save(); //儲存excel
}
|
至此,一個基本的excel已經完工,下面就是填入資料了。
4、新增資料
Epplus中給單元格賦值非常簡單,兩種方法:(ps:Epplus的所有行列數都是以1開始的)
1 2 |
worksheet.Cells[1, 1].Value = "名稱" ; //直接指定行列數進行賦值
worksheet.Cells[ "A1" ].Value = "名稱" ; //直接指定單元格進行賦值
|
下面是一個完整的輸出一個簡單的excel的程式碼:
FileInfo newFile = new FileInfo(@"d:\test.xlsx"); if (newFile.Exists) { newFile.Delete(); newFile = new FileInfo(@"d:\test.xlsx"); } using (ExcelPackage package = new ExcelPackage(newFile)) { ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("test"); worksheet.Cells[1, 1].Value = "名稱"; worksheet.Cells[1, 2].Value = "價格"; worksheet.Cells[1, 3].Value = "銷量"; worksheet.Cells[2, 1].Value = "大米"; worksheet.Cells[2, 2].Value = 56; worksheet.Cells[2, 3].Value = 100; worksheet.Cells[3, 1].Value = "玉米"; worksheet.Cells[3, 2].Value = 45; worksheet.Cells[3, 3].Value = 150; worksheet.Cells[4, 1].Value = "小米"; worksheet.Cells[4, 2].Value = 38; worksheet.Cells[4, 3].Value = 130; worksheet.Cells[5, 1].Value = "糯米"; worksheet.Cells[5, 2].Value = 22; worksheet.Cells[5, 3].Value = 200; package.Save(); }