我需要的是比较或搜索工作表名称中的字符串..
我的意思是,excel文件可能有多个工作表,但只有具有特定字符串的工作表可以说
只有名为“FORMATO SIVE 04”的纸张才会被处理......
我正在疯狂调试,我感到困惑......我的代码就像这样
Workbook eworkbook = WorkbookFactory.create(Archivo);
int totalsheet = eworkbook.getNumberOfSheets();
System.out.println("fuerawhile"+totalsheet);
sheetName=new String[totalsheet];
//String nombrehoja = eworkbook.getSheetName(0).toString();
//System.out.println(nombrehoja);
Sheet sheet = null;
while(i<totalsheet){
sheetName[i] = eworkbook.getSheetName(i);
System.out.println("Antes IF :" + sheetName[i]);
FORMATO = sheetName[i];
if(FORMATO == "FORMATO SIVE 04"){
flag = true;
}
if(flag){
System.out.println("dentroIF : " + sheetName[i]);
sheet = eworkbook.getSheet(sheetName[i].toString());
System.out.println("Exito");
}
else if (!flag){
System.out.println("Error");
}
System.out.println("dentrowhile : " + sheetName[i]);
i++;
}
但它并没有给我真实:(
有人有任何想法吗?
我认为这太容易了,但我在这方面有很多时间,我认为我是对的:(
提前致谢
答案 0 :(得分:2)
在Java中,永远不应使用String
来比较==
(除非你想测试实习逻辑,否则)。喜欢:
if( "FORMATO SIVE 04".equals(FORMATO) ) {
....
如果您确定FORMATO
永远不会null
,您也可以使用更清晰的形式:
if( FORMATO.equals("FORMATO SIVE 04") ) {