NPOI使用手册[转] (2)

NPOI.Util  基础辅助库
NPOI.POIFS   OLE2格式读写库
NPOI.DDF   Microsoft Drawing格式读写库
NPOI.SS   Excel公式计算库
NPOI.HPSF   OLE2的Summary Information和Document Summary Information属性读写库
NPOI.HSSF   Excel BIFF格式读写库

NPOI 1.2教程 - 2.1.1 创建WorkbookSheet

作者:Tony Qu

NPOI官方网站:

创建Workbook说白了就是创建一个Excel文件,当然在NPOI中更准确的表示是在内存中创建一个Workbook对象流。

本节作为第2章的开篇章节,将做较为详细的讲解,以帮助NPOI的学习者更好的理解NPOI的组成和使用。

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;

...

HSSFWorkbookhssfworkbook =newHSSFWorkbook();

是不是很方便啊,没有任何参数或设置,但这么创建有一些限制,这样创建出来的Workbook在Excel中打开是会报错的,因为Excel规定一个Workbook必须至少带1个Sheet,这也是为什么在Excel界面中,新建一个Workbook默认都会新建3个Sheet。所以必须加入下面的创建Sheet的代码才能保证生成的文件正常:

HSSFSheetsheet = hssfworkbook.CreateSheet("newsheet");

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

hssfworkbook.CreateSheet("Sheet1");

hssfworkbook.CreateSheet("Sheet2");

hssfworkbook.CreateSheet("Sheet3");

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

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

hssfworkbook.Write(file);

file.Close();

这里假设文件名是test.xls,,在创建完FileStream之后,直接调用HSSFWorkbook类的Write方法就可以了。

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

相关范例请见NPOI 1.2正式版中的CreateEmptyExcelFile项目。

NPOI 1.2教程 - 2.1.2 创建DocumentSummaryInformationSummaryInformation

作者:Tony Qu

NPOI官方网站:

昨天收到了不少回复,有msn上的,也有blog上的,我代表NPOI Team向所有支持和关注NPOI的兄弟表示感谢,让我们共同完善NPOI。

前一节中我们讲解了如何创建一个新的Workbook,但在此过程中大家也许会发现一个细节,这些文件没有包括DocummentSummaryInformation和SummaryInformation头。如果你还不是很清楚我在说什么,可以看POIFS Browser打开test.xls文件后的截图:

你会发现只有Workbook目录,其他什么都没有,但事实上一个正常的xls文件,比如说Excel生成的xls文件是类似下面的结构:

是不是多出来DocumentSummaryInformation和SummaryInformation两个头?很多人可能对DocumentSummaryInformation和SummaryInformation很陌生,可能第一次听说这玩意,没事,这很正常,因为普通用户很少会去使用这些东西,但它们其实比想象中有用。

请看上图中的信息,如作者、标题、标记、备注、主题等信息,其实这些信息都是存储在DocummentSummaryInformation和SummaryInformation里面的,这么一说我想大家应该明白了吧,这些信息是为了快速提取文件信息准备。在Windows XP中,也有对应的查看和修改界面,只是没有Vista这么方便,如下所示:

这恐怕也是很多人对于这些信息漠不关心的原因吧,因为没有人愿意通过右击文件->属性这样复杂的操作去查看一些摘要信息。

提示

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwwwpg.html