用NPOI操作EXCEL-锁定列CreateFreezePane()

原创 2012年03月29日 18:01:10

在Excel中,有时可能会出现列数太多或是行数太多的情况,这时可以通过锁定列来冻结部分列,不随滚动条滑动,方便查看。在Excel中设置冻结列的方法如下:

同样,利用NPOI,通过代码也能实现上面的效果:
HSSFSheet sheet1 = hssfworkbook.CreateSheet("Sheet1"
);
HSSFRow row1 
= sheet1.CreateRow(0
);
row1.CreateCell(
0).SetCellValue("冻结列"
);
sheet1.CreateFreezePane(
1010);

代码执行结果如下:

下面对CreateFreezePane的参数作一下说明:
第一个参数表示要冻结的列数;
第二个参数表示要冻结的行数,这里只冻结列所以为0;
第三个参数表示右边区域可见的首列序号,从1开始计算;
第四个参数表示下边区域可见的首行序号,也是从1开始计算,这里是冻结列,所以为0;

举例说明也许更好理解,将各参数设置为如下:

sheet1.CreateFreezePane(2,0,5,0);
得到的效果如下图:

注意图中C、D和E列默认是看不到的,滚动才看得到,这就是第三个参数5起了作用,是不是很好理解了呢:)

接下来,看一下冻结行的效果。将上面的代码稍作修改:

HSSFSheet sheet1 = hssfworkbook.CreateSheet("Sheet1");
HSSFRow row1 
= sheet1.CreateRow(0
);
row1.CreateCell(
0).SetCellValue("冻结行"
);
sheet1.CreateFreezePane(
0101);

执行后生成的Excel文件效果见下图:

 

用NPOI操作EXCEL-锁定列CreateFreezePane()

文章转载自:http://biancheng.dnbcw.info/1000wen/391465.html 在Excel中,有时可能会出现列数太多或是行数太多的情况,这时可以通过锁定列来冻结部分列,...
  • just_you_java
  • just_you_java
  • 2015年11月25日 18:03
  • 3142

POI操作excel基本使用

真正要实现一些复杂的时候,例如项目需要制作报表等等,通常的做法都是事先把格式一切的东西都手动制作好(这个做好了的文件在实际的项目里我们称之为“数据模板”,简称“模板”),然后在Java应用中适当的时机...
  • Sup_Heaven
  • Sup_Heaven
  • 2014年07月26日 15:38
  • 5347

POI实战-java开发excel详解之常用操作-窗口冻结

4.3 窗口冻结 在很多Excel中,由于数据过多需要对相关行、相关列进行冻结设置。POI同样支持行列冻结,行列冻结主要由拆分行列后冻结而成。通过sheet的createFreezePane(col...
  • scholar_man
  • scholar_man
  • 2015年09月06日 17:14
  • 2836

Apache POI Excel固定(冻结)单元格

Apach POI Excel固定(冻结)单元格今天在已固定好的模板上添加数据后发现,原本的固定单元格无法被固定,原因可能是在赋值/新建单元格/赋样式的时候破坏了原本的固定. 经查阅资料后发现在P...
  • qq_24076135
  • qq_24076135
  • 2017年08月21日 15:00
  • 534

POI创建冻结窗口

可以按照如下设置创建冻结窗口。  sheet1.createFreezePane( 3, 2, 3, 2 ); 前两个参数是你要用来拆分的列数和行数。后两个参数是下面窗口的可见象限,其中第三...
  • sjzs5590
  • sjzs5590
  • 2012年03月09日 16:43
  • 6281

POI操作excel基本使用

真正要实现一些复杂的时候,例如项目需要制作报表等等,通常的做法都是事先把格式一切的东西都手动制作好(这个做好了的文件在实际的项目里我们称之为“数据模板”,简称“模板”),然后在Java应用中适当的时机...
  • Sup_Heaven
  • Sup_Heaven
  • 2014年07月26日 15:38
  • 5347

POI实战-java开发excel详解(第四章 常用操作-窗口冻结)

4.3 窗口冻结 在很多Excel中,由于数据过多需要对相关行、相关列进行冻结设置。POI同样支持行列冻结,行列冻结主要由拆分行列后冻结而成。通过sheet的createFreezePane(col...
  • yuzhenling
  • yuzhenling
  • 2015年08月31日 13:57
  • 499

POI

使用这套API操作Excel时,将对Excel进行全程锁定,所以不能有其他程序访问同一文件. package poi; import java.io.FileOutputStream;import ...
  • zhangao0086
  • zhangao0086
  • 2011年05月01日 17:42
  • 5478

使用npoi.dll导出数据到excel

.net数据导出excel数据有多种方法,可以使用excel
  • qiaonixingxing
  • qiaonixingxing
  • 2014年09月12日 11:20
  • 1239

kendoUI组件扩展3--冻结列(待完善)

冻结列实现的效果就像是Excle的冻结空格,网上主要有两种实现:拆分和样式;我用的是后者。 参考资料: 样式 js html/jsp...
  • zhangze_wancheng
  • zhangze_wancheng
  • 2013年11月25日 00:00
  • 1842
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用NPOI操作EXCEL-锁定列CreateFreezePane()
举报原因:
原因补充:

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