首页 > 解决方案 > 我需要使用 Apache POI 过滤具有自定义过滤器值的特定列

问题描述

应用自动过滤器后,我需要自定义过滤列的值(基于列的值之一)。

下面的方法帮助我对列 A3 到 E3 应用自动过滤器

sheet.setAutoFilter(CellRangeAddress.valueOf("A3:E3"));

但是如果我使用相同的方法进行自定义过滤,如下所示。它不起作用。在这种情况下,我想将列 E3 的值的行过滤为“Near End”

sheet.setAutoFilter(CellRangeAddress.valueOf("E3:Near End"));

它不起作用并抛出 - java.lang.IllegalArgumentException 错误。

我尝试使用如下所示的 HSSFAutoFilter 类,方法为“equals”。它也没有工作。

HSSFAutoFilter autofilter;
autofilter = sheet.setAutoFilter(CellRangeAddress.valueOf("E3"));
autofilter.equals("Near End");

在一个网站上看到说:

AutoFilter filter = 
sheet.setAutoFilter(CellRangeAddress.valueOf("A1:F200"));
filter.applyFilter(0, "apache", "poi", "java", "api");

但是“appyfilter()”选项现在似乎不可用。

我正在使用 poi 3.8 JAR 文件。

标签: javaapache-poi

解决方案


推荐阅读