.net 操作excel的常用組件:EPPlus,NPOI 1.NPOI,即POI的.NET版本(POI是一套用Java寫成的庫,能夠幫助開發者在沒有安裝微軟Office的情況下讀寫Office文件,格式包括xls, doc, ppt等。) 2.EPPlus, Epplus是一個使用Open Off ...
.net 操作excel的常用組件:EPPlus,NPOI
1.NPOI,即POI的.NET版本(POI是一套用Java寫成的庫,能夠幫助開發者在沒有安裝微軟Office的情況下讀寫Office文件,格式包括xls, doc, ppt等。) 2.EPPlus, Epplus是一個使用Open Office XML文件格式,能讀寫Excel的第三方插件。 先介紹幾個基礎的類: (1)ExcelPackage ExcelPackage是EPPlus的入口類,解析一個Excel文件,該類實現了IDisposable介面,可以使用using進行對象釋放。 常用構造函數:public ExcelPackage(); public ExcelPackage(FileInfo newFileInfo);
public ExcelPackage(Stream newStream);
using (ExcelPackage package = new ExcelPackage(new FileInfo(path);)) { package.Save();//保存後 Epplus組件才會將excel按初始化傳入的路徑在本地磁碟上進行保存。 }
(2)ExcelWorkbook ExcelWorkbook類表示了一個Excel文件。
(3)ExcelWorksheet 是ExcelWorkbook 的屬性,對應每一個不同的sheet。
給excel文件添加多個sheet
List<ExcelWorksheet> ews= new List<ExcelWorksheet>(); ews.Add(package.Workbook.Worksheets.Add("sheetName1"));//sheet1 ews.Add(package.Workbook.Worksheets.Add("sheetName2"));//sheet2
sheet的一些屬性
ews[0].Row(1).Height = 24;//行高 ews[0].Row(1).CustomHeight = true;//自動調整行高 ews[0].Column(2).AutoFit(20);//列寬(Epplus的所有行列數都是以1開始的) ews[0].Column(2).Width = 20;//列寬 ews[0].Cells.AutoFitColumns();//自動列寬 ews[0].Cells .Style .ShrinkToFit = true;//單元格自適應 ews[0].Cells.Style.WrapText = true;//自動換行 ews[0].Hidden = eWorkSheetHidden.Hidden;//隱藏sheet ews[0].Protection.IsProtected = true;//鎖定sheet,不可更改
(4)ExcelRange類 sheet內自定義區域。
定義區域
ExcelRange range1 = wss[c].Cells[2, 1];// Row, Col ExcelRange range2 = wss[c].Cells[1, 1,3,3];//FromRow, FromCol, ToRow, ToCol
range的一些屬性
range.Style.Border.Left.Style = ExcelBorderStyle.Thin;//邊框 range.Style.Font.Color.SetColor(System.Drawing.Color.Red);//字體顏色 range.Value = "111";//區域的值 range.Merge = true;//合併 range.Style.WrapText = true;//自動換行 range.AutoFitColumns(10);//列寬 range.Style.HorizontalAlignment = ExcelHorizontalAlignment.Center;//對齊方式