title: org.apache.poi.POIXMLException: java.lang.reflect.InvocationTargetException in POI API after an .xls file is updated with Libre Office
body: <p>I am reading an Excel using POI api, I use the following code to read the excel file.</p>
  
  <pre><code>    public class ExcelWorkBook {
  
          private static ExcelWorkBook excelWorkBook = null;
          private static String filePath;
          private static XSSFWorkbook workbook;
  
          /**
           * This  constructor used to initialize the {@link ExcelWorkBook}
           * @throws IOException
           */
          private ExcelWorkBook() throws IOException {
              try {
                  workbook = new XSSFWorkbook(getFile());
              } catch (FileNotFoundException ex) {
                  Logger.getLogger(ExcelWorkBook.class.getName()).log(Level.SEVERE, null, ex);
              }
          }
  
          /**
           * This method create a new object {@link ExcelWorkBook}
           * @return {@link ExcelWorkBook}
           * @throws IOException
           */
          public static ExcelWorkBook getInstance() throws IOException {
              excelWorkBook = new ExcelWorkBook();
              return excelWorkBook;
          }
  
          /**
           * This method create a {@link FileInputStream}
           * @return {@link FileInputStream}
           * @throws FileNotFoundException
           */
          private FileInputStream getFile() throws FileNotFoundException {
            FileInputStream file = new FileInputStream(new File(filePath));
            return file;
          }
          .
          .
          .
          .
  </code></pre>
  
  <p>But its throwing following exception in a particular file which is created using MS Office 2010 and undated using Libre office. What could Be the problem. The Stack trace of exception is attached below</p>
  
  <pre><code> org.apache.poi.POIXMLException: java.lang.reflect.InvocationTargetException
      at org.apache.poi.xssf.usermodel.XSSFFactory.createDocumentPart(XSSFFactory.java:61) ~[poi-ooxml-3.7.jar:3.7]
      at org.apache.poi.POIXMLDocumentPart.read(POIXMLDocumentPart.java:277) ~[poi-ooxml-3.7.jar:3.7]
      at org.apache.poi.POIXMLDocumentPart.read(POIXMLDocumentPart.java:282) ~[poi-ooxml-3.7.jar:3.7]
      at org.apache.poi.POIXMLDocument.load(POIXMLDocument.java:186) ~[poi-ooxml-3.7.jar:3.7]
      at org.apache.poi.xssf.usermodel.XSSFWorkbook.&lt;init&gt;(XSSFWorkbook.java:189) ~[poi-ooxml-3.7.jar:3.7]
      at com.excel.ExcelWorkBook.&lt;init&gt;(ExcelWorkBook.java:48) 
      at com.excel.ExcelWorkBook.getInstance(ExcelWorkBook.java:60) 
      at com.excel.ExcelParser.&lt;init&gt;(ExcelParser.java:64) 
      at com.database.DatabaseLoader.process(DatabaseLoader.java:85) 
      at com.fileuploader.FileUploadHandler.doPost(FileUploadHandler.java:116) 
  .
  .
  .
  .
      at java.lang.Thread.run(Thread.java:662) [na:1.6.0_45]
  [STDOUT] Caused by: java.lang.reflect.InvocationTargetException: null
  [STDOUT]    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.6.0_45]
  [STDOUT]    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) ~[na:1.6.0_45]
  [STDOUT]    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) ~[na:1.6.0_45]
  [STDOUT]    at java.lang.reflect.Constructor.newInstance(Constructor.java:513) ~[na:1.6.0_45]
  [STDOUT]    at org.apache.poi.xssf.usermodel.XSSFFactory.createDocumentPart(XSSFFactory.java:59) ~[poi-ooxml-3.7.jar:3.7]
  [STDOUT]    ... 42 common frames omitted
  [STDOUT] Caused by: org.apache.xmlbeans.XmlException: error: duplicate attribute 'type'
  [STDOUT]    at org.apache.xmlbeans.impl.store.Locale$SaxLoader.load(Locale.java:3471) ~[xmlbeans-2.3.0.jar:na]
  [STDOUT]    at org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:1270) ~[xmlbeans-2.3.0.jar:na]
  [STDOUT]    at org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:1257) ~[xmlbeans-2.3.0.jar:na]
  [STDOUT]    at org.apache.xmlbeans.impl.schema.SchemaTypeLoaderBase.parse(SchemaTypeLoaderBase.java:345) ~[xmlbeans-2.3.0.jar:na]
  [STDOUT]    at org.apache.xmlbeans.XmlObject$Factory.parse(XmlObject.java:663) ~[xmlbeans-2.3.0.jar:2.3.0-r540734]
  [STDOUT]    at org.apache.poi.xssf.usermodel.XSSFVMLDrawing.read(XSSFVMLDrawing.java:107) ~[poi-ooxml-3.7.jar:3.7]
  [STDOUT]    at org.apache.poi.xssf.usermodel.XSSFVMLDrawing.&lt;init&gt;(XSSFVMLDrawing.java:102) ~[poi-ooxml-3.7.jar:3.7]
  [STDOUT]    ... 47 common frames omitted
  [STDOUT] Caused by: org.xml.sax.SAXParseException: duplicate attribute 'type'
  [STDOUT]    at org.apache.xmlbeans.impl.piccolo.xml.Piccolo.reportFatalError(Piccolo.java:1038) ~[xmlbeans-2.3.0.jar:na]
  [STDOUT]    at org.apache.xmlbeans.impl.piccolo.xml.Piccolo.parse(Piccolo.java:723) ~[xmlbeans-2.3.0.jar:na]
  [STDOUT]    at org.apache.xmlbeans.impl.store.Locale$SaxLoader.load(Locale.java:3439) ~[xmlbeans-2.3.0.jar:na]
  [STDOUT]    ... 53 common frames omitted
  </code></pre>