Erro na leitura do arquivo Excel - Java POI 3.8

Estou tentando ler um arquivo Excel, porém esta ocorrendo o erro abaixo, alguém sabe me ajudar?

Note: Recompile with -Xlint:deprecation for details. compile: org.apache.poi.POIXMLException: org.apache.poi.openxml4j.exceptions.InvalidFormatException: Package should contain a content type part [M1.13] at org.apache.poi.util.PackageHelper.open(PackageHelper.java:41) at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:187)

O código:

InputStream fsCMCIQ = new FileInputStream(fileCMCIQ);

        XSSFWorkbook wbCMCIQ = new XSSFWorkbook(fsCMCIQ);

        XSSFWorkbook wbRPD = new XSSFWorkbook(fileRPD);[code]

Ola, voce pode usar a classe Event conforme exemplo abaixo:

/**

  • This example shows how to use the event API for reading a file.
    */
    public class EventExample
    implements HSSFListener
    {
    private SSTRecord sstrec;

    /**

    • This method listens for incoming records and handles them as required.
    • @param record The record that was found while reading.
      */
      public void processRecord(Record record)
      {
      switch (record.getSid())
      {
      // the BOFRecord can represent either the beginning of a sheet or the workbook
      case BOFRecord.sid:
      BOFRecord bof = (BOFRecord) record;
      if (bof.getType() == bof.TYPE_WORKBOOK)
      {
      System.out.println(“Encountered workbook”);
      // assigned to the class level member
      } else if (bof.getType() == bof.TYPE_WORKSHEET)
      {
      System.out.println(“Encountered sheet reference”);
      }
      break;
      case BoundSheetRecord.sid:
      BoundSheetRecord bsr = (BoundSheetRecord) record;
      System.out.println("New sheet named: " + bsr.getSheetname());
      break;
      case RowRecord.sid:
      RowRecord rowrec = (RowRecord) record;
      System.out.println("Row found, first column at "
      + rowrec.getFirstCol() + " last column at " + rowrec.getLastCol());
      break;
      case NumberRecord.sid:
      NumberRecord numrec = (NumberRecord) record;
      System.out.println("Cell found with value " + numrec.getValue()
      + " at row " + numrec.getRow() + " and column " + numrec.getColumn());
      break;
      // SSTRecords store a array of unique strings used in Excel.
      case SSTRecord.sid:
      sstrec = (SSTRecord) record;
      for (int k = 0; k < sstrec.getNumUniqueStrings(); k++)
      {
      System.out.println("String table value " + k + " = " + sstrec.getString(k));
      }
      break;
      case LabelSSTRecord.sid:
      LabelSSTRecord lrec = (LabelSSTRecord) record;
      System.out.println("String cell found with value "
      + sstrec.getString(lrec.getSSTIndex()));
      break;
      }
      }

    /**

    • Read an excel file and spit out what we find.
    • @param args Expect one argument that is the file to read.
    • @throws IOException When there is an error processing the file.
      */
      public static void main(String[] args) throws IOException
      {
      // create a new file input stream with the input file specified
      // at the command line
      FileInputStream fin = new FileInputStream(“sua planilha”);
      // create a new org.apache.poi.poifs.filesystem.Filesystem
      POIFSFileSystem poifs = new POIFSFileSystem(fin);
      // get the Workbook (excel part) stream in a InputStream
      InputStream din = poifs.createDocumentInputStream(“Workbook”);
      // construct out HSSFRequest object
      HSSFRequest req = new HSSFRequest();
      // lazy listen for ALL records with the listener shown above
      req.addListenerForAllRecords(new EventExample());
      // create our event factory
      HSSFEventFactory factory = new HSSFEventFactory();
      // process our events based on the document input stream
      factory.processEvents(req, din);
      // once all the events are processed close our file input stream
      fin.close();
      // and our document input stream (don’t want to leak these!)
      din.close();
      System.out.println(“done.”);
      }
      }

http://poi.apache.org/spreadsheet/how-to.html