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

标签 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));                                                               
    }

最佳答案

不,不存在从范围中排除某些列的方法。但您可以尝试根据排除列分割范围。 MsExcel 支持带逗号的范围,这将在此处起作用。

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

范围可以更改为(如果排除 J7、K7 和 L7),

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

关于java - 如何使用java apache poi仅从Excel工作表中的几列而不是所有列中删除过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55570423/

相关文章:

java - System.out.println不打印数组数据

java - Java对象的比较

java - 更新了 Java 性能调优资源

java - 使用 JNI 加载 C 插件系统 : undefined symbol

java - 使用POI用java替换word模板文档中的内容

java - 无法使用for循环在Excel工作表中写入数据(Apache_poi)

java - 使用颜色比例规则的 XSSFSheetConditionalFormatting 不会格式化使用 java 中的 poi 生成的 excel 中的数据

java - 获取错误 : cannot resolve method getResource()

java - 无法转换为 org.openxmlformats.schemas.xpackage.x2006.digitalSignature.CTRelationshipReference?

java - 如何在更改某些单元格后使用 POI 读取 Excel 公式的结果