org.apache.pi.openxml4j.des exceptions.InvalidOperationException: impossible d'ouvrir le fichier spécifié

Mon code ne fonctionne pas, il indique toujours l'exception mentionnée ci-dessus.
mais je vois toujours le tmp fichier généré.

voici le code, quelqu'un peut s'il vous plaît suggérer quelque chose:

FileInputStream fis =null;
        try{
        fis= new FileInputStream(new File("/home/amar/Desktop/new/abc.xls"));

        Workbook wb = new org.apache.poi.xssf.usermodel.XSSFWorkbook(fis);
                int numOfSheets = wb.getNumberOfSheets();
System.out.println("bhargo num of sheets is " + numOfSheets);
        for(int i=0; i<numOfSheets; i++){
            org.apache.poi.ss.usermodel.Sheet sheet = wb.getSheetAt(i);
            Iterator<Row> rowIterator = sheet.iterator();
            while (rowIterator.hasNext())
            {
                Row row = rowIterator.next();
                Iterator<Cell> cellIterator = row.cellIterator();
                while (cellIterator.hasNext()) {
                    Cell cell = (Cell) cellIterator.next();
                    if (cell.getCellType() == cell.CELL_TYPE_STRING) {
                        System.out.println("bhargo cell value is " + cell.getStringCellValue().trim());
                    }
                }
            }
            }
    } catch (Exception e) {
        //TODO Auto-generated catch block
        e.printStackTrace();
    }
    finally{
        System.out.println("bhargo, closing the stream");
    try {
        fis.close();
    } catch (IOException e) {
        //TODO Auto-generated catch block
        e.printStackTrace();
    }
    }