.net 操作excel


.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按初始化傳入的路徑在本地磁盤上進行保存。
} 

 

MemoryStream stream = new MemoryStream();
using (ExcelPackage package = new ExcelPackage(stream))
{ 
    package.SaveAs(stream);
}
stream.Position = 0;
return stream;

 

(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;//對齊方式

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM