標籤:
建立Workbook說白了就是建立一個Excel檔案,當然在NPOI中更準確的表示是在記憶體中建立一個Workbook物件流程。
本節作為第2章的開篇章節,將做較為詳細的講解,以協助NPOI的學習者更好的理解NPOI的組成和使用。
NPOI.HSSF 是專門負責Excel BIFF格式的命名空間,供開發人員使用的對象主要位於NPOI.HSSF.UserModel 和 NPOI.HSSF.Util命名空間下,下面我們要講到的Workbook的建立用的就是NPOI.HSSF.UserModel.HSSFWorkbook類,這個類負責建立.xls文檔,它實現了NPOI.SS.UserModel.IWorkbook介面。
在開始建立Workbook之前,我們先要在項目中引用一些必要的NPOI assembly,新版NPOI簡化為2個DLL,如下所示
NPOI.dll
Ionic.Zip.dll
要建立一個新的xls檔案其實很簡單,只要我們初始化一個新的HSSFWorkbook執行個體就行了,如下所示:
| 123 |
using NPOI.HSSF.UserModel;...HSSFWorkbook hssfworkbook =new HSSFWorkbook(); |
當然你也可以直接使用新的SS介面,如下所示:
| 1234 |
using NPOI.SS.UserModel;using NPOI.HSSF.UserModel;...IWorkbook hssfworkbook =new HSSFWorkbook(); |
這兩種方法的建立HSSFWorkbook的結果是完全一樣的。
這麼建立有一些限制,這樣建立出來的Workbook在Excel中開啟是會報錯的,因為Excel規定一個Workbook必須至少帶1個Sheet,這也是為什麼在Excel介面中,建立一個Workbook預設都會建立3個Sheet。所以必須加入下面的建立Sheet的代碼才能保證產生的檔案正常:
| 1 |
ISheet sheet = hssfworkbook.CreateSheet("new sheet"); |
如果要建立標準的Excel檔案,即擁有3個Sheet,可以用下面的代碼:
| 123 |
hssfworkbook.CreateSheet("Sheet1");hssfworkbook.CreateSheet("Sheet2");hssfworkbook.CreateSheet("Sheet3"); |
最後就是把這個HSSFWorkbook執行個體寫入檔案了,如下所示:
| 123 |
FileStream file = new FileStream(@"test.xls", FileMode.Create);hssfworkbook.Write(file);file.Close(); |
C#建立Excel