如何使用java apache poi从Excel工作表中的仅少数列中删除过滤器,而不是所有列中删除过滤器

时间:2019-04-08 09:38:44

标签: java apache-poi

我已使用以下方法将过滤器应用于excel工作表列A7至M7 sheet.setAutoFilter(CellRangeAddress.valueOf("A7:M7"));,但现在我想从J7,K7和L7列中删除过滤器,但在Apache Poi 3.17中找不到任何方法

for(int j=0;j<=12;j++)
    {
        if(j==9||j==10||j==11)
        {
            continue;   
        }
            sheet.setAutoFilter(new CellRangeAddress(6,6, j, j));                                                               
    }

1 个答案:

答案 0 :(得分:1)

否,没有一种方法可以从范围中排除某些列。但是您可以尝试根据排除列拆分范围。 MsExcel支持带逗号的范围,将在此处使用。

sheet.setAutoFilter(CellRangeAddress.valueOf("A7:M7")); 

可以将范围更改为(如果不包括J7,K7和L7),

sheet.setAutoFilter(CellRangeAddress.valueOf("A7:I7, M7:M7"));