在Sheet界面中修剪工作表名称(Apache POI)

时间:2018-04-06 11:16:32

标签: java excel apache-poi

我试图通过使用:

来获取Sheet

Sheet sheet=workbook.getSheet("sheetName");

但是在我的工作簿中,一些工作表名称有空格。如何制作"修剪搜索"?有可能做这样的事情:

Sheet sheet=workbook.trimSheetSearch("sheetName");

Sheet sheet=workbook.indexOfSheetSearch("sheetName");

1 个答案:

答案 0 :(得分:0)

您应该能够使用Workbook.getNumberOfSheets()Workbook.getSheetAt(int index)对每个Sheet进行迭代,以改善您的搜索。

类似的东西:

for(int i = 0; i < workbook.getNumberOfSheets(); i++){
    String s = workbook.getSheetName(i);
    if(checkName(s, nameToFind)) return workbook.getSheetAt(i);
}
return null; // sheet not found

对于搜索方法,您可以执行类似

的脏解决方案
public boolean checkName(String n1, String n2){
    return n1.replaceAll(" ", "").equalsIgnoreCase(n2.replaceAll(" ", ""));
}

我让你改进那种方法(我不会在这里做所有事情;))。请注意,这可能无法编译,因为我没有实际系统来运行它,但这应该可以正常工作。