# Apache POI v3.17



## MARJAVA (4. Feb 2018)

Hallo,

bei meinem Programm handelt es sich um ein Tool, dass eine Exceltabelle einliest, darstellt und nach dem Editieren wieder im Exceldokument abspeichert. Das Einlesen und Darstellen funtioniert bereits, doch beim Schreiben in die entsprechende Exceltabelle erhalte ich eine Fehlermeldung.
Die Fehlermeldung ist eine ArrayIndexOutOfBoundsException für eine die version-betreffende neue Methode der Klasse XSSFTable. Die Fehlermeldung wird ausgelöst, in der Codezeile beim Schreiben in die Exceldatei. 
Das prinzipielle Schreiben in eine solche Datei habe ich bereits problemlos in der Version 3.15 programmiert.
Da es ein spezielles Paket ist hoffe ich dass mir trotzdem jemand dabei helfen kann. Den kompletten Code findet ihr unten. Die Fehlermeldung tritt in den Cellreferences auf. Vielleicht sieht jemand den Fehler auf Anhieb und kann mir einen Tipp geben. Ich habe auch gelesen, dass es sich um eine Methode handelt, die aus der Betaversion stammt. 
Hat jemand vielleicht Erfahrungen mit Apache POI 3.17?

```
private JMenuItem getJmiDatSpeichern() {
        JMenuItem datSpeichern = new JMenuItem("Datei speichern");
        datSpeichern.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent ae) {

        try {


       
                fileAccess();
                System.out.println("File: "+actualFile);
                System.out.println("Sheet: "+actualSheet.getSheetName());

                //Daten abspeichern
                Header header=actualSheet.getHeader();
                header.setLeft(jtaZeitraum.getText());
                header.setCenter(jtaAnschrift.getText());;
                header.setRight(jtaVonBis.getText());
               
                for(int i=0; i<datensatzListe.size(); i++){
                    XSSFRow row=actualSheet.getRow(i+3);
                    System.out.println("Row: "+row.getRowNum());
                    XSSFCell cell0=row.getCell(0);
                    cell0.setCellValue("");
                    XSSFCell cell1=row.getCell(1);
                    cell1.setCellValue("");
                    XSSFCell cell2=row.getCell(2);
                    cell2.setCellValue("");
                    XSSFCell cell3=row.getCell(3);
                    cell3.setCellValue("");
                    XSSFCell cell4=row.getCell(4);
                    cell4.setCellValue("");
                    XSSFCell cell5=row.getCell(5);
                    cell5.setCellValue("");
                    XSSFCell cell6=row.getCell(6);
                    cell6.setCellValue("");
                    XSSFCell cell7=row.getCell(7);
                    cell7.setCellValue("");
                    XSSFCell cell8=row.getCell(8);
                    cell8.setCellValue("");
                    XSSFCell cell9=row.getCell(9);
                    cell9.setCellValue("");
                    XSSFCell cell10=row.getCell(10);
                    cell10.setCellValue("");
                }
                for(int i=0; i<datensatzListe.size(); i++){
                    XSSFRow row=actualSheet.getRow(i+3);
                    System.out.println("Row: "+row.getRowNum());
                    XSSFCell cell0=row.getCell(0);
                    System.out.println("Cell: "+cell0.getColumnIndex());
                    cell0.setCellValue(datensatzListe.get(i).getEinnahmen());
                    XSSFCell cell1=row.getCell(1);
                    cell1.setCellValue(datensatzListe.get(i).getMwstEin());
                    XSSFCell cell2=row.getCell(2);
                    cell2.setCellValue(datensatzListe.get(i).getAusgaben());
                    XSSFCell cell3=row.getCell(3);
                    cell3.setCellValue(datensatzListe.get(i).getMwst19Aus());
                    XSSFCell cell4=row.getCell(4);
                    cell4.setCellValue(datensatzListe.get(i).getMwst7Aus());
                    XSSFCell cell5=row.getCell(5);
                    cell5.setCellValue(datensatzListe.get(i).getRechnr());
                    XSSFCell cell6=row.getCell(6);
                    cell6.setCellValue(datensatzListe.get(i).getZaehler());
                    XSSFCell cell7=row.getCell(7);
                    cell7.setCellValue(datensatzListe.get(i).getDate());
                    XSSFCell cell8=row.getCell(8);
                    cell8.setCellValue(datensatzListe.get(i).getVonFuer());
                    XSSFCell cell9=row.getCell(9);
                    cell9.setCellValue(datensatzListe.get(i).getRubrik());
                    XSSFCell cell10=row.getCell(10);
                    cell10.setCellValue(datensatzListe.get(i).getKonto());
                   
                }
               
                tabelleAktualisieren();
               
               
                try {
                    writerEx = new WriterEx(fehlerlogdatei);
                } catch (IOException e2) {
                    // TODO Automatisch generierter Erfassungsblock
                    e2.printStackTrace();
                }

                try {
                    writerFortschritt = new WriterFortschritt(new File(actualDirectory.toString() + "/fortschritt.txt"));

                } catch (IOException e2) {
                    // TODO Automatisch generierter Erfassungsblock
                    e2.printStackTrace();
                }
               
                FileOutputStream outPutStream = null;
                try {
                   
                    outPutStream = new FileOutputStream(actualFile);
                    actualWB.write(outPutStream);
                   

                } catch (IOException e) {
                    e.printStackTrace();
                    try {
                        writerEx.printIOException(e);

                    } catch (IOException e2) {
                        // TODO Automatisch generierter Erfassungsblock
                        e2.printStackTrace();
                    }
                } catch (NullPointerException e1) {
                    e1.printStackTrace();
                    try {
                        writerEx.printNullPointerException(e1);

                    } catch (IOException e2) {
                        // TODO Automatisch generierter Erfassungsblock
                        e2.printStackTrace();
                    }
                } catch (Exception e1) {
                    e1.printStackTrace();
                    try {
                        writerEx.printException(e1);

                    } catch (IOException e2) {
                        // TODO Automatisch generierter Erfassungsblock
                        e2.printStackTrace();
                    }
                } finally {
                    if (outPutStream != null) {
                        try {
                            outPutStream.flush();
                            outPutStream.close();
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                    }
                }
           
        } catch (NullPointerException e1) {
            e1.printStackTrace();
            // TODO Automatisch generierter Erfassungsblock
            try {
                writerEx.printNullPointerException(e1);

            } catch (IOException e2) {
                // TODO Automatisch generierter Erfassungsblock
                e2.printStackTrace();
            }
        } catch (Exception e3) {
            e3.printStackTrace();
            try {
                writerEx.printException(e3);

            } catch (IOException e2) {
                // TODO Automatisch generierter Erfassungsblock
                e2.printStackTrace();
            }
        } finally {
        }
       
       
    }
    });
    return datSpeichern;
    }
```


```
public void fileAccess(){
        try{
            FileInputStream fis = new FileInputStream(actualFile);

            // Finds the workbook instance for XLSX file
           
            actualWB = new XSSFWorkbook(fis);

            // Return first sheet from the XLSX workbook
           
            int sheetNumber=0;
            String[] sheetNames = new String[actualWB.getNumberOfSheets()];
            for (int i=0; i<actualWB.getNumberOfSheets(); i++) {

                sheetNames[i]=actualWB.getSheetAt(i).getSheetName();
            }
           
            AuswahlDialog aDialog= new AuswahlDialog(new JFrame(), new String("Sheetauswahl"), sheetNames,true);
            aDialog.setVisible(true);
            String sheetName=aDialog.getSheetName();

            if(sheetName==null){
                JOptionPane.showMessageDialog(this, "kein Sheet ausgewählt");
            }else{
                for(int i=0; i<sheetNames.length; i++){
                    if(sheetNames[i]==sheetName){
                        sheetNumber=i;
                    }
                }
            }
            actualSheet=actualWB.getSheetAt(sheetNumber);
            jtfDatei.setText(actualFile.getName());
            jtfVerzeichnis.setText(actualDirectory.getAbsolutePath());
            jtfTabelle.setText(actualSheet.getSheetName());
                       
           

           

        } catch (ClassCastException e) {
            e.printStackTrace();
            try {
                writerEx.printClassCastException(e);

            } catch (IOException e2) {
                // TODO Automatisch generierter Erfassungsblock
                e2.printStackTrace();
            }
        } catch (NumberFormatException e) {
            e.printStackTrace();
            try {
                writerEx.printNumberFormatException(e);

            } catch (IOException e2) {
                // TODO Automatisch generierter Erfassungsblock
                e2.printStackTrace();
            }
        } catch (NullPointerException e) {
            e.printStackTrace();
            try {
                writerEx.printNullPointerException(e);

            } catch (IOException e2) {
                // TODO Automatisch generierter Erfassungsblock
                e2.printStackTrace();
            }
        } catch (IOException e) {
            e.printStackTrace();
            try {
                writerEx.printIOException(e);

            } catch (IOException e2) {
                // TODO Automatisch generierter Erfassungsblock
                e2.printStackTrace();
            }
        } catch (Exception e) {
            e.printStackTrace();
            try {
                writerEx.printException(e);

            } catch (IOException e2) {
                // TODO Automatisch generierter Erfassungsblock
                e2.printStackTrace();
            }
        }
       
    }
```

Bin über konstruktive Kommentare wirklich dankbar


----------



## MARJAVA (4. Feb 2018)

Also hier noch die Fehlermeldung:

```
java.lang.ArrayIndexOutOfBoundsException: 1
    at org.apache.poi.xssf.usermodel.XSSFTable.setCellReferences(XSSFTable.java:421)
    at org.apache.poi.xssf.usermodel.XSSFTable.getStartCellReference(XSSFTable.java:393)
    at org.apache.poi.xssf.usermodel.XSSFTable.updateHeaders(XSSFTable.java:478)
    at org.apache.poi.xssf.usermodel.XSSFTable.writeTo(XSSFTable.java:119)
    at org.apache.poi.xssf.usermodel.XSSFTable.commit(XSSFTable.java:130)
    at org.apache.poi.POIXMLDocumentPart.onSave(POIXMLDocumentPart.java:390)
    at org.apache.poi.POIXMLDocumentPart.onSave(POIXMLDocumentPart.java:395)
    at org.apache.poi.POIXMLDocumentPart.onSave(POIXMLDocumentPart.java:395)
    at org.apache.poi.POIXMLDocument.write(POIXMLDocument.java:221)
    at gui.Hauptfenster$4.actionPerformed(Hauptfenster.java:599)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
    at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
    at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:833)
    at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:877)
    at java.awt.Component.processMouseEvent(Component.java:6533)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
    at java.awt.Component.processEvent(Component.java:6298)
    at java.awt.Container.processEvent(Container.java:2236)
    at java.awt.Component.dispatchEventImpl(Component.java:4889)
    at java.awt.Container.dispatchEventImpl(Container.java:2294)
    at java.awt.Component.dispatchEvent(Component.java:4711)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
    at java.awt.Container.dispatchEventImpl(Container.java:2280)
    at java.awt.Window.dispatchEventImpl(Window.java:2746)
    at java.awt.Component.dispatchEvent(Component.java:4711)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.awt.EventQueue$3.run(EventQueue.java:703)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)
    at java.awt.EventQueue$4.run(EventQueue.java:731)
    at java.awt.EventQueue$4.run(EventQueue.java:729)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
```

Die Fehlermeldung tritt exakt an folgender Position auf:

actualWB.write(outPutStream);

Beim Schreiben des OutputStreams in die Exceldatei.


----------



## mrBrown (4. Feb 2018)

Und wo tritt der Fehler jetzt genau auf?

(Und was ist denn das für eine Fehlerbehandlung? Du solltest dir mal try-with-resources und Fangen mehrerer Exceptions mit einem catch angucken...)


----------



## MARJAVA (7. Feb 2018)

Danke für die schnelle Antwort MrBrown,
Für die Dokumentation von Fehlern bei der Ausführung des Programms als ausführbares Javafile habe ich einen erweiterte Fehlerbehandlung eingebaut, die alle Fehler eine Datei schreibt.

habe darauf gehofft, dass jemand vielleicht Kenntnis die Apache POI Version hat. Ich tappe relativ im Dunklen, was die Fehlerquelle angeht, da die Zeile beim Schreiben des OutputStreams in das Workbookfile interner Klassen nutzt, die ich nicht weiter angerührt habe.

Warum soll ich jetzt meine Fehlerbehandlung in try with ressources ändern? Welchen Vorteil habe ich davon? Die Frage stelle ich leider aus Unkenntnis der korrekten Anwendung. Damit die Ressource geschlossen wird, wenn ein Fehler auftritt?


----------



## mrBrown (7. Feb 2018)

MARJAVA hat gesagt.:


> habe darauf gehofft, dass jemand vielleicht Kenntnis die Apache POI Version hat. Ich tappe relativ im Dunklen, was die Fehlerquelle angeht, da die Zeile beim Schreiben des OutputStreams in das Workbookfile interner Klassen nutzt, die ich nicht weiter angerührt habe.



Hab erst jetzt deine zweite Anwort gesehen, das hatte sich überschnitten.

Was in jedem Fall schief geht, ist die Auswahl des Sheets. Der String-Vergleich mit == wird immer false liefern, da solltest du equals nutzen.



MARJAVA hat gesagt.:


> Für die Dokumentation von Fehlern bei der Ausführung des Programms als ausführbares Javafile habe ich einen erweiterte Fehlerbehandlung eingebaut, die alle Fehler eine Datei schreibt.
> [...]
> Warum soll ich jetzt meine Fehlerbehandlung in try with ressources ändern? Welchen Vorteil habe ich davon? Die Frage stelle ich leider aus Unkenntnis der korrekten Anwendung. Damit die Ressource geschlossen wird, wenn ein Fehler auftritt?



Unter anderem, damit Resourcen geschlossen werden.

Die jetzige "Fehlerbehandlung" ist an manchen Stellen ziemlich...sinnlos. Aktuell hätte zb eine IOException beim Erstellen des Writers eine Cascade von zig weiteren Exceptions an anderen Stellen zur Folge.
Da wäre man vermutlich deutlich besser bedient (und gleichzeitig wird es auch noch lesbar), wenn man einen einzelnen try-catch-Block hätte


----------



## MARJAVA (8. Feb 2018)

Hab jetzt meine Fehlerbehandlung überarbeitet bzw. auf das nötige reduziert.
Die Try-With-Ressources Fehlerbehandlung habe ich ebenfalls eingebaut und sollte funktionieren!
Die Bedingungsprüfung  mit equals ist ebenfallls geändert.
Allerdings habe ich den selben Fehler beim Schreiben in die Exceldatei. Er bemängelt einfach eine Methode der externen Bibliothek.
Die exakte Stelle, an der das Programm aussteigt, habe ich mit roter Schriftfarbe markiert!
Die Fehlermeldung habe ich auch noch mal angehängt.

```
private JMenuItem getJmiDatSpeichern() {
        JMenuItem datSpeichern = new JMenuItem("Datei speichern");
        datSpeichern.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent ae) {

           

            try (FileOutputStream outPutStream = new FileOutputStream(actualFile)){

                writerEx = new WriterEx(fehlerlogdatei);
                writerFortschritt = new WriterFortschritt(new File(actualDirectory.toString() + "/fortschritt.txt"));

       
                fileAccess();
                System.out.println("File: "+actualFile);
                System.out.println("Sheet: "+actualSheet.getSheetName());

                //Daten abspeichern
                Header header=actualSheet.getHeader();
                header.setLeft(jtaZeitraum.getText());
                header.setCenter(jtaAnschrift.getText());;
                header.setRight(jtaVonBis.getText());
               
                for(int i=0; i<datensatzListe.size(); i++){
                    XSSFRow row=actualSheet.getRow(i+3);
                    System.out.println("Row: "+row.getRowNum());
                    XSSFCell cell0=row.getCell(0);
                    cell0.setCellValue("");
                    XSSFCell cell1=row.getCell(1);
                    cell1.setCellValue("");
                    XSSFCell cell2=row.getCell(2);
                    cell2.setCellValue("");
                    XSSFCell cell3=row.getCell(3);
                    cell3.setCellValue("");
                    XSSFCell cell4=row.getCell(4);
                    cell4.setCellValue("");
                    XSSFCell cell5=row.getCell(5);
                    cell5.setCellValue("");
                    XSSFCell cell6=row.getCell(6);
                    cell6.setCellValue("");
                    XSSFCell cell7=row.getCell(7);
                    cell7.setCellValue("");
                    XSSFCell cell8=row.getCell(8);
                    cell8.setCellValue("");
                    XSSFCell cell9=row.getCell(9);
                    cell9.setCellValue("");
                    XSSFCell cell10=row.getCell(10);
                    cell10.setCellValue("");
                }
                for(int i=0; i<datensatzListe.size(); i++){
                    XSSFRow row=actualSheet.getRow(i+3);
                    System.out.println("Row: "+row.getRowNum());
                    XSSFCell cell0=row.getCell(0);
                    System.out.println("Cell: "+cell0.getColumnIndex());
                    cell0.setCellValue(datensatzListe.get(i).getEinnahmen());
                    XSSFCell cell1=row.getCell(1);
                    cell1.setCellValue(datensatzListe.get(i).getMwstEin());
                    XSSFCell cell2=row.getCell(2);
                    cell2.setCellValue(datensatzListe.get(i).getAusgaben());
                    XSSFCell cell3=row.getCell(3);
                    cell3.setCellValue(datensatzListe.get(i).getMwst19Aus());
                    XSSFCell cell4=row.getCell(4);
                    cell4.setCellValue(datensatzListe.get(i).getMwst7Aus());
                    XSSFCell cell5=row.getCell(5);
                    cell5.setCellValue(datensatzListe.get(i).getRechnr());
                    XSSFCell cell6=row.getCell(6);
                    cell6.setCellValue(datensatzListe.get(i).getZaehler());
                    XSSFCell cell7=row.getCell(7);
                    cell7.setCellValue(datensatzListe.get(i).getDate());
                    XSSFCell cell8=row.getCell(8);
                    cell8.setCellValue(datensatzListe.get(i).getVonFuer());
                    XSSFCell cell9=row.getCell(9);
                    cell9.setCellValue(datensatzListe.get(i).getRubrik());
                    XSSFCell cell10=row.getCell(10);
                    cell10.setCellValue(datensatzListe.get(i).getKonto());
                   
                }
               
                tabelleAktualisieren();
               
               


               
               
                [SIZE=6][COLOR=#ff0000]actualWB.write(outPutStream);[/COLOR][/SIZE]
                outPutStream.flush();
                outPutStream.close();
                writerEx.flushFileWriter();

           
        } catch (IOException e) {
            e.printStackTrace();
            writerEx.printIOException(e);

        } catch (NullPointerException e1) {
            e1.printStackTrace();
            writerEx.printNullPointerException(e1);

        } catch (Exception e2) {
            e2.printStackTrace();
            writerEx.printException(e2);

        }finally{
           
        }
       
       
    }
    });
    return datSpeichern;
    }
```


```
java.lang.ArrayIndexOutOfBoundsException: 1
    at org.apache.poi.xssf.usermodel.XSSFTable.setCellReferences(XSSFTable.java:421)
    at org.apache.poi.xssf.usermodel.XSSFTable.getStartCellReference(XSSFTable.java:393)
    at org.apache.poi.xssf.usermodel.XSSFTable.updateHeaders(XSSFTable.java:478)
    at org.apache.poi.xssf.usermodel.XSSFTable.writeTo(XSSFTable.java:119)
    at org.apache.poi.xssf.usermodel.XSSFTable.commit(XSSFTable.java:130)
    at org.apache.poi.POIXMLDocumentPart.onSave(POIXMLDocumentPart.java:390)
    at org.apache.poi.POIXMLDocumentPart.onSave(POIXMLDocumentPart.java:395)
    at org.apache.poi.POIXMLDocumentPart.onSave(POIXMLDocumentPart.java:395)
    at org.apache.poi.POIXMLDocument.write(POIXMLDocument.java:221)
    at gui.Hauptfenster$5.actionPerformed(Hauptfenster.java:643)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
    at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
    at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:833)
    at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:877)
    at java.awt.Component.processMouseEvent(Component.java:6533)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
    at java.awt.Component.processEvent(Component.java:6298)
    at java.awt.Container.processEvent(Container.java:2236)
    at java.awt.Component.dispatchEventImpl(Component.java:4889)
    at java.awt.Container.dispatchEventImpl(Container.java:2294)
    at java.awt.Component.dispatchEvent(Component.java:4711)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
    at java.awt.Container.dispatchEventImpl(Container.java:2280)
    at java.awt.Window.dispatchEventImpl(Window.java:2746)
    at java.awt.Component.dispatchEvent(Component.java:4711)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.awt.EventQueue$3.run(EventQueue.java:703)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)
    at java.awt.EventQueue$4.run(EventQueue.java:731)
    at java.awt.EventQueue$4.run(EventQueue.java:729)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
```


----------



## MARJAVA (16. Feb 2018)

Für die Interessierten kurz eine Angabe des Fehlers, der zum Problem geführt hat. Die XLSX-Datei mit den notwendigen Daten war das Problem, ohne zu wissen, ob es an der Version oder dem POI-VersionsUpdate lag. Meine Ursprüngliche Datei wollte er nicht beschreiben. 
Lange Rede kurzer Sinn, Das Übernehmen der Daten in eine neue Datei hat den Fehler beseitigt.


----------

