在SeleniumJava中使用AppachePOI,我想在excel中过滤两列的值

在SeleniumJava中使用AppachePOI,我想在excel中过滤两列的值,java,excel,selenium,apache-poi,Java,Excel,Selenium,Apache Poi,我正在筛选excel中的列、计划和日期。 例如:我正在过滤计划XYZ和ABC,因此我得到了相应的多个日期,这些日期出现在特定计划中。所以,如果我想要XYZ计划的日期数据,那么我给出了条件,我得到了多个日期,但我只想根据新的(如今天、明天等)条件得到单个日期数据 我所尝试的: String plandate= row.getCell(0).to string(); String plan=row.getCell(1).getStringCellValue(); ArrayList <Stri

我正在筛选excel中的列、计划和日期。 例如:我正在过滤计划XYZ和ABC,因此我得到了相应的多个日期,这些日期出现在特定计划中。所以,如果我想要XYZ计划的日期数据,那么我给出了条件,我得到了多个日期,但我只想根据新的(如今天、明天等)条件得到单个日期数据

我所尝试的:

String plandate= row.getCell(0).to string();
String plan=row.getCell(1).getStringCellValue();
ArrayList <String> pdate = new ArrayList<String>(plandate);

ArrayList <String> planarr= new ArrayList<String>(plan);

Set<String>uniquedate =new Hashset<String>(pdate);

Set<String>uniqueplan =new Hashset<String>(planarr);

for (String vplan:uniqueplan)
{
for(String vdate:uniquedate)
{
CTAutoFilter sheetFilter=my_sheet.getCTWorksheet().getAutoFilter();

/* Step -2: Filter Multiple Columns in POI with Auto Filter */
CTFilterColumn myFilterColumn=sheetFilter.insertNewFilterColumn(0);
myFilterColumn.setColId(1L);

CTFilterColumn myFilterColumn2=sheetFilter.insertNewFilterColumn(1);
myFilterColumn2.setColId(0L);

CTFilters firstColumnFilter=myFilterColumn.addNewFilters();
CTFilter myFilter1=firstColumnFilter.addNewFilter();
CTFilters secondColumnFilter=myFilterColumn2.addNewFilters();
CTFilter myFilter2=secondColumnFilter.addNewFilter();

/* Define Filter Conditions Across both columns */
myFilter1.setVal(vplan); myFilter2.setVal(vdate);
Refresh Records to Match Multiple Filter Conditions */
XSSFRow r1;
/* Step-6: Loop through Rows and Apply Filter */
for(Row r : my_sheet)
{
for (Cell c : r)
{

if ((c.getColumnIndex()==0 && c.toString().equals(vdate)) && (c.getColumnIndex()==1 &&
c.getStringCellValue().equals(vplan)))
{
Double bal= r.getCell(4).getNumericCellValue();
}

if ((c.getColumnIndex()==0 && !c.toString().equals(vdate)) && (c.getColumnIndex()==1 && !c.getStringCellValue().equals(vplan)))
{
r1=(XSSFRow) c.getRow();
if (r1.getRowNum()!=0)
{
r1.getCTRow().setHidden(true);
}
}
}
}
}
}
我想要的是:

输出

first - 
    Plan XYZ
        Date :  
             30 May

second - 

    Plan XYZ
        Date :  
             30 June

提前感谢您的帮助。

大家好,任何帮助都很有用。
first - 
    Plan XYZ
        Date :  
             30 May

second - 

    Plan XYZ
        Date :  
             30 June