http://www.lwolf.cn/blog/article/code/csharp-npoi.htm
我以前在做C#项目时遇到过导出数据成Excel文件的问题,曾经用过office的组件,后来又用Aspose.Cells控件。Aspose.Cells是很强大,但是要收费的。平时做些小程序时也在用它,用的是破解版。只是感觉它的功能过于强大,如果不是用在大项目上有点杀鸡用牛刀的感觉。
于是就想找个替代品,然后就发现了NPOI。下载类库来使用了一下,生成Excel的速度还是挺快的。去了解了下这个类库,它是POI项目的.NET 版本,竟然还是国人开发的。它跟Aspose.Cells一样也是不用装Excel就可以进行Excel的操作。
NPOI简介:http://www.cnblogs.com/tonyqus/archive/2009/03/16/1409966.html
NPOI官网:http://npoi.codeplex.com
我也是最近才开始用这个,下载了源码和例子,照着教程写了一些代码测试下,生成和导出Excel的速度还是蛮快的。类库共6个DLL,大概1M多一点。本想只用其中几个再减少下体积,后来发现不行,还是得用完。
官方的教程很详细,这里我只写一下使用NPOI的一些心得。经过我的测试,如果只是用到导出Excel功能,而且只做一些基本设置的话,这样就可以不用NPOI.DDF这个。
关于设置单元格的背景色,将图案和背景的颜色设为一样的,所以FillPattern这里除了NO_FILL,用什么都无所谓
复制内容到剪贴板
程序代码
HSSFCellStyle style = workbook.CreateCellStyle ();
style.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.PINK.index; //图案颜色
style.FillPattern = CellFillPattern.SPARSE_DOTS; //图案样式
style.FillBackgroundColor = NPOI.HSSF.Util.HSSFColor.PINK.index; //背景颜色
设置粗体,试了几个属性之后才发现要设置到Boldweight上。。。
复制内容到剪贴板
程序代码
HSSFFont font = workbook.CreateFont ();
font.Boldweight = HSSFFont.BOLDWEIGHT_BOLD;
我现在用的是1.2.2版的,以后做生成Excel的东西就准备用NPOI了~~
复制内容到剪贴板
程序代码

HSSFCellStyle style = workbook.CreateCellStyle ();
style.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.PINK.index; //图案颜色
style.FillPattern = CellFillPattern.SPARSE_DOTS; //图案样式
style.FillBackgroundColor = NPOI.HSSF.Util.HSSFColor.PINK.index; //背景颜色
style.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.PINK.index; //图案颜色
style.FillPattern = CellFillPattern.SPARSE_DOTS; //图案样式
style.FillBackgroundColor = NPOI.HSSF.Util.HSSFColor.PINK.index; //背景颜色
复制内容到剪贴板
程序代码

HSSFFont font = workbook.CreateFont ();
font.Boldweight = HSSFFont.BOLDWEIGHT_BOLD;
font.Boldweight = HSSFFont.BOLDWEIGHT_BOLD;