首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Apache POI锁定标题行

Apache POI锁定标题行
EN

Stack Overflow用户
提问于 2013-07-30 03:28:47
回答 2查看 46.5K关注 0票数 87

有没有人熟悉用Apache POI 3.7创建的电子表格中锁定行的方法?通过锁定,我的意思是希望列的标题行在用户滚动各行时保持可见。我创建的电子表格将有500行,如果列的名称始终可见,这将是有益的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-30 12:54:29

如果您需要冻结工作表中任何特定的行,您可以使用(在org.apache.poi.ss.usermodel.Sheet中)(POI3.7中也提供)

代码语言:javascript
复制
Sheet.createFreezePane(int colSplit, int rowSplit, int leftmostColumn, int topRow)

在本例中,如果您只想冻结前x行,那么int leftmostColumn, int topRow部分将被删除,您可以只使用

代码语言:javascript
复制
Sheet.createFreezePane(int colSplit, int rowSplit)

例如

代码语言:javascript
复制
sheet1.createFreezePane(0, 5); // this will freeze first five rows
票数 144
EN

Stack Overflow用户

发布于 2018-02-28 22:08:15

您不能冻结中间行,而不将其上方的行也冻结。

假设您有100行,标题行在第50行。您可能会认为只有第50行被锁定,这样当从第1行到第49行滚动时,所有内容都会向上滚动,当滚动到第50行时,第50行会滚动到顶部,当滚动到第51-100行时,第50行会停留在那里。

但是,有一种变通方法。您可以做的是,对行进行分组,然后冻结它们。

首先,从1到49对行进行分组,然后从1到50冻结窗格。现在,用户可以最小化该组,然后在顶部锁定表头的情况下使用该表。

代码语言:javascript
复制
sheet.groupRow(0, 49);
sheet.createFreezePane(0, 50);

不过,这里有一个小问题。如果工作表受到保护,MS Excel将不允许您展开/折叠组。为此,您需要编写一个宏。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17932575

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档