Ist es möglich, eine Arbeitsmappe zu speichern und zu speichern, ohne die bearbeitete Datei über die Basisdatei zu kopieren?Arbeitsmappe bearbeiten/schreiben, ohne unter anderem Namen zu speichern
Hier ist mein Code:
File file = new File("base.xlsx");
Workbook workbook = WorkbookFactory.create(file);
Sheet sheet = workbook.getSheet("data");
...
//creating rows and cells, writing stuff
...
//saving
FileOutputStream fos = new FileOutputStream("edited.xlsx");
workbook.write(fos);
workbook.close();
fos.close();
//now both the base.xlsx and edited.xlsx contain all the new and previous data - and are exactly the same size
//using only
workbook.close();
//the workbook file size changes (approximately to the same as edited.xlsx) and the timestamp is current
//BUT the data doesn't get saved
Die einzige andere Möglichkeit weiß, dass ich einen Inputstream von verwendet (dann aber aus dem Speicher (10 MB XLSX-Datei und 2 GB Heap-Speicher) bekomme ich)
Der verwirrende Teil ist: Warum wird die Datei base.xlsx bearbeitet, wenn ich sie in eine andere Datei schreibe?
Vielen Dank für Ihre Erklärung! – Beig