Indexing fails on password-protected MS Excel workbooks with java.lang.reflect.InvocationTargetException

XMLWordPrintable

    • 4
    • Severity 2 - Major

      Only occurs when the whole workbook has been encrypted, not where individual sheets are protected.

      The problem actually lies with the Poi library, but the maintainers have closed the issue as "won't fix" because they won't touch anything involving encryption. They won't even detect the encryption and throw an informative exception, for fear of MS' lawyers, but note that users are welcome to write and maintain their own modules:
      http://poi.apache.org/faq.html#faq-N10055

      Stack trace (snipped for brevity):
      java.lang.reflect.InvocationTargetException
      at sun.reflect.GeneratedConstructorAccessor397.newInstance(Unknown Source)
      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
      at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
      at org.apache.poi.hssf.record.RecordFactory.createRecord(RecordFactory.java:257)
      at org.apache.poi.hssf.eventusermodel.HSSFEventFactory.genericProcessEvents(HSSFEventFactory.java:221)
      at org.apache.poi.hssf.eventusermodel.HSSFEventFactory.processEvents(HSSFEventFactory.java:139)
      at com.atlassian.bonnie.search.extractor.MsExcelContentExtractor.extractText(MsExcelContentExtractor.java:90)
      ...
      Caused by: java.lang.IllegalArgumentException: Illegal length
      at org.apache.poi.util.StringUtil.getFromUnicodeHigh(StringUtil.java:114)
      at org.apache.poi.hssf.record.FontRecord.fillFields(FontRecord.java:172)
      at org.apache.poi.hssf.record.Record.fillFields(Record.java:127)
      at org.apache.poi.hssf.record.Record.<init>(Record.java:92)
      at org.apache.poi.hssf.record.FontRecord.<init>(FontRecord.java:125)

            Assignee:
            Unassigned
            Reporter:
            James Fleming (Inactive)
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: