Excel从菜单Data-> Outline-> Subtotal中提供小计选项。它会自动创建子总和以及折叠数据的可能性。下图演示了动作如何变换工作表。

这正是我需要通过POI进行的操作。我知道如何将小计函数设置到单元格中,这样我就可以自己计算中间和。但是,如何在左侧边框上启用此折叠功能?

我意识到有groupRow()方法,但是这些嵌套组无法正常工作。如果使用以下代码,我只会得到两个组。一大(1-7)和(1-3)。组(5-7)丢失,更改呼叫顺序无效。

sheet.groupRow(1, 7);
sheet.groupRow(1, 3);
sheet.groupRow(5, 7);

最佳答案

我使用了很旧的POI版本,但这是我的方法:
我还需要多个嵌套组,所以我有一个用于存储缩进级别的行的模型(它是一棵树,所以缩进是隐式的)。我与访问者一起遍历该模型以获取组的开始和结束行号。然后为每个组调用HSSFSheet.groupRow。如果我没记错的话,群组通话的顺序很重要。

08-05 08:15