zoukankan      html  css  js  c++  java
  • NPOI用Excel模板导出Excel文件(一)基本操作

    最近接触了用c#导出Excel文件的一些操作。

    使用NPOI的优势是,开源,操作灵活,不需要下载OFFICE软件,速度快,不过听说,数据量过大的时候,不是很好用,大概那都是几兆的时候吧,不过目前用于我的需要,基本是够了。

    关于NPOI的基本操作:http://blog.csdn.net/pan_junbiao/article/details/39717443

    使用Npoi需要using几个命名空间:

    1     using NPOI;
    2     using NPOI.HSSF.UserModel;
    3     using NPOI.XSSF.UserModel;
    4     using NPOI.XSSF.Util;
    5     using NPOI.SS.UserModel;
    6     using NPOI.SS.Util;

    首先打开文件,需要文件路径,操作模式以及操作权限。

    这里打开excel文件有两种对应格式,HSSFWorkbook和XSSFWorkbook,都是继承的IWorkbook。

    GetSheet()函数,获取sheet名的方式,获取sheet来操作。

    1 FileStream file = new FileStream(FileSer, FileMode.Open, FileAccess.Read);//读入excel模板
    2 //HSSF适用2007以前的版本,XSSF适用2007版本及其以上的。
    3 XSSFWorkbook UnionBook = new XSSFWorkbook(file);
    4 XSSFSheet unionSheet = null;
    5 unionSheet = (XSSFSheet)UnionBook.GetSheet("sheet1");

    NPOI操作excel的方式,有两个特点:

    1.它的操作,都是基于Excel的最小单文单元格来的,而且要先获取行getrow(int rownum),然后再获取该行的单元格,getcell(int cellnum)。

    2.它的每次获取时,对行或单元格的操作,基于整个sheet,都是从0开始的。也就是要获取第一行的话,是getrow(0),获取第一个单元格的话,是getcell(0)。

    按理说,用了XSSFSheet,应该用XSSFRow和XSSFCell的,不过GetRow方法返回的是IRow,所以只能用IRow定义了,ICell的情况也是一样的。

    1 IRow unionRow = unionSheet.GetRow(0);
    2 ICell unionCell = unionRow.GetCell(2);
    3 unionCell.SetCellValue("第一个值");//设值

    下面的函数,用于合并单元格的。

    1 //CellRangeAddress四个参数为:起始行,结束行,起始列,结束列
    2 unionSheet.AddMergedRegion(new CellRangeAddress(0, 0, 2, 6));

    以上就是基本的操作,在下一节,我会针对我所遇到的问题,写出我的解决方案来的。

  • 相关阅读:
    如何设置IIS程序池的回收时间,才能最大程度的减少对用户的影响?
    C#实现执行数据库事务案例
    RGB色彩对照表
    C# list.ForEach用法
    C# 实现list=list.OrderBy(q=>q.字段名).ToList(); 按多个字段排序
    IIS 7如何实现http重定向https
    Windows 2008 R2上配置IIS7或IIS7.5中的URLRewrite(URL重写)实例
    MVC网站发布到 IIS
    完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
    js返回上一页的实现方法
  • 原文地址:https://www.cnblogs.com/yiji-xing/p/6669918.html
Copyright © 2011-2022 走看看