天天看点

NPOI入门(一)创建Workbook和Sheet

创建 Workbook 说白了就是创建一个 Excel 文件,当然在 NPOI 中更准确的表示是在内存中创建一个 Workbook 对象流。NPOI.HSSF 是专门负责 Excel BIFF 格式的命名空间,供开发者使用的对象主要位于NPOI.HSSF.UserModel 和 NPOI.HSSF.Util 命名空间下,下面我们要讲到的 Workbook 的创建用的就是 NPOI.HSSF.UserModel.HSSFWorkbook 类,这个类负责创建.xls 文档。

在开始创建 Workbook 之前,我们先要在项目中引用一些必要的 NPOI assembly,如下

所示:

NPOI.dll

NPOI.POIFS.dll

NPOI.HSSF.dll

NPOI.Util.dll

要创建一个新的 xls 文件其实很简单,只要我们初始化一个新的 HSSFWorkbook 实例就行了,如下所示:

using NPOI.HSSF.UserModel;

......

HSSFWorkbook hssfworkbook = newnew HSSFWorkbook();

是不是很方便啊,没有任何参数或设置,但这么创建有一些限制,这样创建出来的Workbook 在 Excel 中打开是会报错的,因为 Excel 规定一个 Workbook 必须至少带 1 个 Sheet,

这也是为什么在 Excel 界面中,新建一个 Workbook 默认都会新建 3 个 Sheet。所以必须加入下面的创建 Sheet 的代码才能保证生成的文件正常:

HSSFSheet sheet = hssfworkbook.CreateSheet( "new sheet" ););

如果要创建标准的 Excel 文件,即拥有 3 个 Sheet,可以用下面的代码:

hssfworkbook.CreateSheet( "Sheet1" ););

hssfworkbook.CreateSheet( "Sheet2" ););

hssfworkbook.CreateSheet( "Sheet3" ););

最后就是把这个 HSSFWorkbook 实例写入文件了,代码也很简单,如下所示:

FileStream file = new FileStream( @"test.xls" , FileMode.Create);

hssfworkbook.Write(file);

file.Close();

这里假设文件名是 test.xls,,在创建完 FileStream 之后,直接调用 HSSFWorkbook

类的 Write 方法就可以了。

最后你可以打开 test.xls 文件确认一下,是不是有 3 个空的 Sheet。