关于使用NPOI2.0 进行Excel导出的一些笔记

原创 2013年12月05日 09:00:53
  1. 推荐使用2.0版本,虽然是beta版,但是至少支持office2007以上xlsx等后缀的文件。当让,需要做好文档不全的心理准备
  2. xls后缀文件使用HSSF包,xlsx使用XSSF包。ex,xlsx格式文件,实例化,IWorkbook exportFile = new XSSFWorkbook(templatePath);
  3. demo大部分使用CreateRow,CreateCell等方法,但是,这些方法是重新实例化,会覆盖原有的单元格和列的属性,比如背景色。请改用GetRow和GetCell方法。
  4. Workbook实例化(读取现有excel模板等)消耗的时间可能会比较慢,也可能和我电脑配置渣有关。
  5. 单元格赋值的时候最好使用ToString()方式字符串赋值,因为时间等类型不会自动转换。
  6. 相比较而言,使用NPOI方式不需要服务器安装office,不需要配置安全属性,但是,个人还是更加喜欢用Office组件,因为更加完善。

参考

demo
             bool ifSuccess = false ;
            string msg = "" ;
            string templatePath = Server.MapPath("\\Content\\template\\temp.xlsx" );
            string resultPath = "" ;
            try
            {
                resultPath = "\\Content\\template\\" + lCode + "_" + DateTime.Now.Second + ".xlsx";
                string savePath = Server.MapPath(resultPath);
                IWorkbook exportFile = new XSSFWorkbook(templatePath);

                ISheet sheet1 = exportFile.GetSheet("SheetName" );
                //int x = 1;
                //for (int i = 1; i <= 15; i++)
                //{
                //    IRow row = sheet1.CreateRow(i);
                //    for (int j = 0; j < 15; j++)
                //    {
                //        row.CreateCell(j).SetCellValue((x++).ToString());
                //    }
                //}
                IRow row = sheet1.CreateRow(3);
                row.CreateCell(0).SetCellValue("123");
                sheet1.GetRow(1).GetCell(1).SetCellValue(DateTime.Now.ToString());
                FileStream sw = System.IO.File .Create(savePath);
                exportFile.Write(sw);
                sw.Close();
                ifSuccess = true;
            }
            catch (Exception e)
            {
                msg = e.Message;
                if (e.InnerException != null )
                    msg += e.InnerException.Message;
            }


Npoi导出excel整理(附源码)

http://www.cnblogs.com/WikStone/archive/2013/01/12/2857466.html 前些日子做了一个简单的winform程序,需要导出的功能,刚开...
  • lanshengsheng2012
  • lanshengsheng2012
  • 2013年09月09日 15:20
  • 21753

NPOI 单元格格式设置

////自动换行                ////自动换行翻译成英文其实就是Wrap的意思,所以这里我们应该用WrapText属性,这是一个布尔属性                //sty...
  • lcnmdfx
  • lcnmdfx
  • 2014年07月24日 14:18
  • 17173

使用NPOI导出Excel文件

使用NPOI导出Excel文件,本实例使用了ASP.NET MVC。 1、使用NPOI导出Excel文件 实例:导出商品列表。 要求:1、通过NPOI导出导出商品列表信息; 2、使用Excel函...
  • pan_junbiao
  • pan_junbiao
  • 2014年10月01日 12:08
  • 4193

NPOI进行Excel文件的导出

NPOI无需Office COM组件且不依赖Office,使用NPOI能够帮助开发者在没有安装微软Office的情况下读写Office 97-2003的文件,支持的文件格式包括xls, doc, pp...
  • kone0611
  • kone0611
  • 2015年08月11日 10:19
  • 352

在C#中使用NPOI2.0操作Excel2003和Excel2007

转自:http://blog.csdn.net/halym/article/details/9235823# 在C#中使用NPOI2.0操作Excel2003和Excel2007...
  • u013045749
  • u013045749
  • 2016年05月05日 01:04
  • 531

使用C#对Excel进行读写操作(NPOI)以及使用EF对Mysql进行CURD

本demo是使用C#对Mysql数据库进行操作,其中使用的了EF框架(EntityFreamwork),另有部分是使用NPOI组件对Excel的.xls文件进行读写操作,使用前应先引入NPOI类库,可...
  • xWF_NET
  • xWF_NET
  • 2017年08月05日 12:24
  • 246

.NET 使用NPOI导入导出标准Excel

尝试过很多Excel导入导出方法,都不太理想,无意中逛到oschina时,发现了NPOI,无需Office COM组件且不依赖Office,顿时惊为天人,怀着无比激动的心情写下此文。   ...
  • yanzhibo
  • yanzhibo
  • 2014年01月13日 21:48
  • 15252

C#中使用NPOI将DataTable导出到Excel文件

需要引入dll(可以选择.net2.0、.net3.5或者.net4.0的dll) 点击下载DLL NopiExcel.cs类 using System; using System.Collect...
  • wwk0125
  • wwk0125
  • 2015年10月05日 11:24
  • 1840

使用NPOI导入导出标准Excel(源码)

http://www.cnblogs.com/lwme/archive/2011/11/18/npoi_excel_import_export.html   尝试过很多Excel导入导出方法,都不太理...
  • kenkao
  • kenkao
  • 2015年06月02日 12:02
  • 8853

NET使用NPOI组件将数据导出Excel

1、NPOI官方网站:http://npoi.codeplex.com/    可以到此网站上去下载最新的NPOI组件版本 2、NPOI在线学习教程(中文版):     http://w...
  • qwlovedzm
  • qwlovedzm
  • 2011年08月25日 14:54
  • 936
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于使用NPOI2.0 进行Excel导出的一些笔记
举报原因:
原因补充:

(最多只允许输入30个字)