Excel-Datei nicht speicherbar, da von Java zum Bearbeiten gesperrt.

Trèfle

Mitglied
Hallo Freunde der Sonne,

für ein Programm, dass ich in der Arbeit schreibe, habe ich folgende Aufgabe: Ich muss eine Excel-Datei öffnen, Daten aus dieser einlesen und in eine Datenbank schreiben. Das funktioniert soweit einwandfrei. Das einzige Problem: Selbst wenn der Task durchgelaufen ist und das Programm eigentlich mit der Excel-Datei fertig sein sollte: Öffne ich die Datei, nehme eine Änderung in dieser vor und möchte diese anschließend speichern, so bekomme ich eine Fehlermeldung, dass diese von einem anderen Benutzer (dem Programm) zum Bearbeiten gesperrt ist.

Mit Code sieht das wie folgt aus:

Zunächst öffne ich die Excel-Datei mit einem File-Chooser:

Code:
FileChooser chooserExcellist = new FileChooser();
chooserExcellist.setTitle("Datei auswählen");
chooserExcellist.setInitialDirectory(new File(System.getProperty("user.dir")));
chooserExcellist.getExtensionFilters().add(new ExtensionFilter("XLSX-Datei", "*.xlsx"));
File file = chooserExcellist.showOpenDialog(this.gui.getStage());
if (file != null) {
    setFile(file);
    gui.setExcelPasswordController(); *
}

*Da die Datei Passwort-geschützt ist, wurde ein weiteres Pane implementiert in welches man das Passwort zum entsperren eingeben kann. Vom Controller dieses Panes wird anschließend folgender Multithread gestartet

Code:
public void run() {
    try {
        this.workbook = (XSSFWorkbook) WorkbookFactory.create(gui.getRootPaneController().getFile(), Passwort, true);
        sheet = this.workbook.getSheetAt(0);
        Row Tabellenspalten = sheet.getRow(0);
        .
        .
        .
    }finally{
        if (workbook != null) {
                try {
                    this.workbook.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
    }
}

Sobald der Multithread durchgelaufen ist und ich anschließend versuche die gewählte Datei zu bearbeiten, bekomme ich dennoch folgende Fehlermeldung und das obwohl ich das Workbook eigentlich geschlossen habe:

Fehlermeldung.png

Wenn ich das Programm beende, dann kann ich die Excel-Datei wie gewohnt speichern. Laut meines Arbeitgebers soll man die Datei allerdings direkt bearbeiten können, ohne das Tool zu schließen. Kann mir jemand einen Hinweis geben, wie ich die Excel-Datei nach dieser Verwendung wieder zum Bearbeiten freigeben kann?

Ich danke euch bereits im Vorraus für eire Hilfe.

Liebe Grüße, Andy
 

White_Fox

Top Contributor
Was sagt denn der Debugger, wenn er die Zeile this.workbook.close() durchlaufen hat? Gibt die Methode irgendwas zurück, was nach Fehler aussieht?
 

mihe7

Top Contributor
Hinzu kommt: nutze try-with-resources, außerdem stellt sich mir die Frage, wofür Du eine Instanzvariable für das workbook brauchst.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Excel Datei Erstellen Allgemeine Java-Themen 2
D ODS.Datei öffnet leider in Excel Allgemeine Java-Themen 3
L JavaFX JavaFX Chart in Apache Poi Excel Datei Allgemeine Java-Themen 2
L Excel Datei löscht sich selbst im Programm - Java Allgemeine Java-Themen 3
A In Excel-Datei schreiben, Formeln der Mappe anwenden, Wert lesen Allgemeine Java-Themen 3
H Excel Datei einlesen mit Apache POI Allgemeine Java-Themen 1
E Excel Datei weiter verarbeiten Allgemeine Java-Themen 4
N POI Passwortgeschützte Excel-Datei bearbeiten Allgemeine Java-Themen 3
B Excel Datei in einem Java Programm mit GUI darstellen Allgemeine Java-Themen 9
S Passwort geschützte Excel Datei öffnen (POI) Allgemeine Java-Themen 4
Y Excel datei einlesen und inhalt verarbeiten Allgemeine Java-Themen 8
A CSV-Datei (Spalt A -> Excel) in Array packen und auslesen Allgemeine Java-Themen 25
A Excel-Datei öffnen Allgemeine Java-Themen 9
MQue Excel bzw. *.csv-Datei lesen Allgemeine Java-Themen 12
G Java POI HSSF Excel Datei Gruppierung und Gliederung Allgemeine Java-Themen 2
S Anzahl der Stunden in Excel Datei schreiben Allgemeine Java-Themen 2
S In excel Datei schreiben Allgemeine Java-Themen 1
V (Excel-) Datei geöffnet? Allgemeine Java-Themen 4
F Xml-datei zu Excel exportieren Allgemeine Java-Themen 5
ARadauer Excel Datei in Excel aus Java heraus öffnen Allgemeine Java-Themen 10
P Drucken einer Excel Datei in Java Allgemeine Java-Themen 8
P Excel-Datei mit Java bearbeiten Allgemeine Java-Themen 2
G Daten in eine vorhandene Excel-Datei schreiben Allgemeine Java-Themen 3
D Excel-Datei mit Java auslesen Allgemeine Java-Themen 1
E Excel-Datei via POI-HSSF modifizieren Allgemeine Java-Themen 5
M Zugriff auf Excel -Datei Allgemeine Java-Themen 5
OnDemand Excel lesen wie CSV Allgemeine Java-Themen 7
I HTML / XHTML Seite nach Excel exportieren. Suche Lib Allgemeine Java-Themen 12
O Wie kann ich in Apache POI (Excel Dateien schreiben) Datumszellen in Excel erzeugen Allgemeine Java-Themen 6
N Apache POI/ neue Reihe in Excel mit einem Button Allgemeine Java-Themen 2
G Excel File öffnen, in Zelle schreiben, abspeichern Allgemeine Java-Themen 6
G Excel Datum richtig auf der Konsole ausgeben Allgemeine Java-Themen 1
G Excel Tabelle lesen und in neue Excel Tabelle einfügen Allgemeine Java-Themen 11
C Aus MEHREREN Excel Tabellen bestimmte Zelle addieren Allgemeine Java-Themen 1
offi Excel mit Inhalten aus DB öffnen ohne zu speichern Allgemeine Java-Themen 8
C Zeilen-"Vektor" aus Excel-Tabelle suchen Allgemeine Java-Themen 0
R EXCEL Range und HSSF POI CellRangeAddress Allgemeine Java-Themen 1
J Apache POI Excel- Blattschutz aufheben Allgemeine Java-Themen 2
ms_cikar Java Excel bearbeiten spalten werden überschrieben. Allgemeine Java-Themen 4
T Geschlossen: Apache POI - Excel einlesen Allgemeine Java-Themen 0
U Java Excel export Allgemeine Java-Themen 1
M Excel Formel in Java Allgemeine Java-Themen 7
D Mit Hilfe von Java aus Excel-Sheet Zellen in neues Excel Dokument kopieren Allgemeine Java-Themen 3
T Java Excel Drop Down Formularsteuerelement Allgemeine Java-Themen 0
C Benutzereingabe von EXCEL-Funktionen parsen Allgemeine Java-Themen 4
T Excel - mit jxf sprachabhängige Formeln schreiben Allgemeine Java-Themen 2
J Ausgabe nach Excel Allgemeine Java-Themen 1
Todesbote Zeilen aus Excel in andere Excel Tabelle kopieren Allgemeine Java-Themen 0
Todesbote Excel Zellen umranden Allgemeine Java-Themen 1
Todesbote Excel Blattschutz aufheben und Daten einfügen Allgemeine Java-Themen 3
G Langtexte - Cellformat import in Excel Allgemeine Java-Themen 3
T Mit Apache Poi Daten aus einer Excel Tabelle kopieren und in Word einfügen Allgemeine Java-Themen 1
R Variablen per HSSF geheime Werte von JAVA an EXCEL Allgemeine Java-Themen 2
J excel einbinden Allgemeine Java-Themen 2
M Threads Excel files bearbeiten Allgemeine Java-Themen 4
S Java & Excel Allgemeine Java-Themen 4
R Datum in Excel Tabelle eintragen Allgemeine Java-Themen 6
C Java Excel Button Allgemeine Java-Themen 2
M Bilder aus Excel auslesen Allgemeine Java-Themen 6
A Excel nach bestimmten Inhalt durchsuchen Allgemeine Java-Themen 8
M Aus Excel Tabelle lesen und Werte in Array speichern Allgemeine Java-Themen 15
P Absatz im String / Excel / /n geht nicht Allgemeine Java-Themen 2
P java tabelle auslesen - xls (excel) fehler Allgemeine Java-Themen 5
H Excel Ausdrucken per Knopfdruck Allgemeine Java-Themen 6
P Excel-Sheets erzeugen aus Report Allgemeine Java-Themen 2
A Excel Tabelle in JFrame darstellen Allgemeine Java-Themen 6
M POI Excel Cell copie Allgemeine Java-Themen 4
J Zeilenumbruch - Excel Export HSSF Allgemeine Java-Themen 10
C Strings in Excel einlesen! Allgemeine Java-Themen 2
G Input/Output Apache POI Excel Allgemeine Java-Themen 5
D Java Excel API - Schreiben in Excel lässt sich nicht über Makro starten Allgemeine Java-Themen 18
M POI Excel Problem mit akt. der Summenfelder aus Vorlage Allgemeine Java-Themen 4
T DLL in Java einbinden (Quelltext aus Excel VBA) Allgemeine Java-Themen 5
S Excel -> Webseiten Formular -> Excel Allgemeine Java-Themen 5
H excel einlesen und in db schreiben Allgemeine Java-Themen 2
V Apache POI Excel Datum auslesen Allgemeine Java-Themen 6
V Apache POI Excel Sheet auslesen Allgemeine Java-Themen 5
C Datum in Excel auslesen Allgemeine Java-Themen 13
G Excel Menüsteuerung ansprechen Allgemeine Java-Themen 3
M Rein informativ - Daten aus Excel-Tabelle in Java-Programm importieren Allgemeine Java-Themen 3
M Poi-Excel: vorhandene Formatierung verwenden Allgemeine Java-Themen 2
T OLE-Automation mit Excel (Wert übergabe) Allgemeine Java-Themen 1
T Jakarta Objekt (Excel Sheet) in Swing/SWT einbetten Allgemeine Java-Themen 3
H POI Excel lesen und schreiben Allgemeine Java-Themen 10
T Apache POI Export EXCEL - [Zahlen-Werte] Allgemeine Java-Themen 1
S Excel in mySQL importieren Allgemeine Java-Themen 3
B JEE Excel Kalkulation Allgemeine Java-Themen 5
J Java-Neuling und Excel - autsch! Allgemeine Java-Themen 16
G Excel-Daten in Datenbank speichern - Problem mit leeren Feldern Allgemeine Java-Themen 7
mh Excel mit POI auslesen Allgemeine Java-Themen 5
S Java Excel bestimmte Zellen auslesen (POI HSSF) Allgemeine Java-Themen 11
J Mit POI Zeile in Excel löschen Allgemeine Java-Themen 5
M Formattierung von Excel Spalten mit jxl Allgemeine Java-Themen 4
G Daten von Excel kopieren - sinnvolle Datenstruktur? Allgemeine Java-Themen 3
G Excel Werte / Zellen formatieren Allgemeine Java-Themen 5
F Formatieren von Zellen in Excel mit Java POI Allgemeine Java-Themen 5
R Excel Export Allgemeine Java-Themen 5
T JCom Beispeil mit Excel Allgemeine Java-Themen 4
S Daten extrahieren aus Excel Dateien (auch 2k7) Allgemeine Java-Themen 4
M JAVA und Excel Allgemeine Java-Themen 8

Ähnliche Java Themen


Oben