Ich habe eine Excel-Datei (test.xlsx), die eine Spalte enthalten, sagen ID, in der ich eine Formel angewendet habe und wenn ich es manuell öffne, ändert sich der Wert aller IDs automatisch , deswegen, wenn ich es schließe, frage ich nach Speichern der Änderungen.Wie öffne und speichere Excel-Datei in Java
gleiche habe ich mit Java-Code versucht, wie unten
public static void main(String[] args) {
String str1 = "c:/file/test.xlsx";
try {
//open file
XSSFWorkbook wb = new XSSFWorkbook(new FileInputStream(new File(str1)));
System.out.println(wb.getSheetAt(0).getRow(1).getCell(0).getDateCellValue().toString());
//save file
FileOutputStream out = new FileOutputStream(str1);
wb.write(out);
out.close();
wb = new XSSFWorkbook(new FileInputStream(new File(str1)));
System.out.println(wb.getSheetAt(0).getRow(1).getCell(0).getDateCellValue().toString());
} catch (IOException ex) {
ex.printStackTrace();
}
}
output:
Thu Aug 04 01:08:34 IST 2016
Thu Aug 04 01:08:34 IST 2016
gegeben
nach oben Ausführung von Code ich nicht immer jede Ausnahme
ich das Ergebnis überprüft haben, durch Datei mit Hilfe von Apache POI lesen .
Ich möchte, nach dem Speichern der Datei mit Code neue IDs sollte in ID-Spalte sein, wie es im Falle manuell Öffnen und Speichern der Datei passiert.
Für mich funktioniert es nicht mit Code.
bitte vorschlagen
Wenn Sie nicht in der Lage sind, das Problem zu verstehen, dann Datei erstellen, wie unten und es öffnen und es manuell schließen, danach mit Code versucht, werden Sie die Dinge verstehen
Was ist "exceldoc"? Das ist nicht im Code definiert ... –
Definieren Sie "nicht arbeiten" bitte, und beachten Sie, dass die Art, eine Arbeitsmappe (mit POI) zu speichern, etwas wie "wb.write (OutputStream)" ist, siehe https: // poi. apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFWorkbook.html –
Ich habe meine Frage bearbeitet – vijendra