zoukankan      html  css  js  c++  java
  • C#创建Excel

    创建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实例就行了,如下所示:

    1
    2
    3
    using NPOI.HSSF.UserModel;
    ...
    HSSFWorkbook hssfworkbook =new HSSFWorkbook();

    当然你也可以直接使用新的SS接口,如下所示:

    1
    2
    3
    4
    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,可以用下面的代码:

    1
    2
    3
    hssfworkbook.CreateSheet("Sheet1");
    hssfworkbook.CreateSheet("Sheet2");
    hssfworkbook.CreateSheet("Sheet3");

    最后就是把这个HSSFWorkbook实例写入文件了,如下所示:

    1
    2
    3
    FileStream file = new FileStream(@"test.xls", FileMode.Create);
    hssfworkbook.Write(file);
    file.Close();
  • 相关阅读:
    angularjs中的指令
    git笔记
    webpack.config.js
    webpack开发react常用插件和依赖
    angularjs中的分页指令
    angularjs中的排序和过滤
    react学习
    gulp学习
    Javascript 判断变量类型的陷阱 与 正确的处理方式
    Fn.bind.apply() 解决 new 操作符不能用与 apply 或 call 同时使用
  • 原文地址:https://www.cnblogs.com/jinhaoObject/p/4966130.html
Copyright © 2011-2022 走看看