Apache POI/ neue Reihe in Excel mit einem Button

N0Name

Mitglied
Hallo,

ich versuche derzeit ein Programm zu schreiben, mit dem man deine Arbeitszeiten besser organisieren kann. Daher benutze ich Apache POI um in eine Excel-Datei zu schreiben. Ich bin schon relativ weit, jedoch komme ich einem Punkt nicht weiter. Mein Problem ist, dass man seine Stunden pro Tag eingibt und das Programm diese in die entsprechende Excel-Datei einträgt. Wenn ich jedoch den nächsten Tag eintragen möchte, überschreibt mir das Programm die Excel-Datei und der vorherige Tag ist gelöscht.
Mein Problem ist also, das ich nicht weiß, wie ich in die unteren Reihen der Datei schreibe.
Ich hab es schon mit dem FileInputStream versucht, jedoch hat das nicht so recht funktioniert, da ich für jeden Monat eine neue Datei anlege.

Das ist mein Code für die Erstellung und das schreiben der Excel-Datei.

Code:
public void speichern(ActionEvent event) throws Exception {

            LocalDate localDate = date.getValue();
            datum = String.valueOf(localDate);

            do {
                if(btnNextMon.isArmed()){
                    monClick++;
                    System.out.println(monClick);
                }
                if (btnSave.isArmed()){
                    saveClick++;
                }

                try {
                    XSSFWorkbook workbook = new XSSFWorkbook();
                    XSSFSheet sheet = workbook.createSheet("Stundenabrechnung");
                    sheet.setDefaultColumnWidth(18);


                    Map<String, Object[]> data = new TreeMap<>();
                    data.put("1", new Object[]{"DATUM:", " INS. ABG. STUNDEN:", " ABGR. STUNDEN:", " BESCHREIBUNG:"});
                    data.put("2", new Object[]{datum, ergbnis + "0", LHabg.getText(), taBes.getText()});


                    Set<String> keyset = data.keySet();
                    int rownum = 0;
                    for (String key : keyset) {
                        XSSFRow row = sheet.createRow(rownum++);
                        Object[] objArr = data.get(key);
                        int cellnum = 0;
                        for (Object obj : objArr) {

                            XSSFCell cell = row.createCell(cellnum++);
                            CellStyle cellStyle = workbook.createCellStyle();
                            cellStyle.setAlignment(HorizontalAlignment.CENTER);
                            cellStyle.setVerticalAlignment(VerticalAlignment.TOP);
                            cell.setCellStyle(cellStyle);
                            if (obj instanceof String) {
                                cell.setCellValue((String) obj);
                            } else if (obj instanceof Integer) {
                                cell.setCellValue((Integer) obj);
                            }


                        }

                    }
                    FileOutputStream outputStream = new FileOutputStream("Stundenabrechnung" + monClick +".xlsx");
                    workbook.write(outputStream);
                    workbook.close();

                } catch (Exception e) {
                    e.printStackTrace();
                }
                System.out.println("ExcelFile is created succsessfully");
            }while (btnNextMon.isPressed());
    }

}

Danke für die Hilfe. :)
 

mihe7

Top Contributor
ich versuche derzeit ein Programm zu schreiben, mit dem man deine Arbeitszeiten besser organisieren kann.
Also meine Arbeitszeiten brauchst Du nicht besser zu organisieren :)

Mein Problem ist also, das ich nicht weiß, wie ich in die unteren Reihen der Datei schreibe.
Dein erstes Problem ist, dass Du jedesmal eine neue Datei anlegst, die natürlich die vorherige überschreibt.

Heißt:
1. Falls Datei bereits existiert -> füge Einträge ans Ende an
2. Sonst -> lege neue Datei mit den Einträgen an.

Bei 1. brauchst Du dann den Hinweis von @MoxxiManagarm - nachdem Du die bestehende Datei geöffnet hast.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Apache Proxy Weiterleitung auf Tomcat funktioniert nicht wie gewünscht Allgemeine Java-Themen 1
T Logging mit org.apache.logging.log4j Allgemeine Java-Themen 1
E Ersetzen eines Bildes in der Kopfzeile eines Word-Docx-Dokuments mit Apache POI XWPF Allgemeine Java-Themen 0
H Apache fop -- welche Möglichkeit gibt es um den Fortschritt anzuzeigen (Progressbar) Allgemeine Java-Themen 5
H Apache fop - OutOfMemoryError Allgemeine Java-Themen 10
B Schnittstelle zwischen MySQL und Apache Allgemeine Java-Themen 8
O Wie kann ich in Apache POI (Excel Dateien schreiben) Datumszellen in Excel erzeugen Allgemeine Java-Themen 6
F Fehlermeldung: java.lang.NoClassDefFoundError: org/apache/commons/net/ntp/NTPUDPClient Allgemeine Java-Themen 6
I Apache POI Bild in Word ersetzen Allgemeine Java-Themen 15
O xlsx Datei auslesen mit POI Apache liest keine LEERZELLEN Allgemeine Java-Themen 6
O xlsx Datei auslesen mit POI von Apache wirft seltsamen Fehler. Allgemeine Java-Themen 11
L APACHE POI PIVOT TABELLEN Allgemeine Java-Themen 4
L Apache POI Datenquelle Allgemeine Java-Themen 1
S Apache POI Filtern nach bestimmten Kriterium Allgemeine Java-Themen 1
L JavaFX JavaFX Chart in Apache Poi Excel Datei Allgemeine Java-Themen 2
F Operationen/Methoden einen WebService im Browser mit Apache Axis aufrufen Allgemeine Java-Themen 4
F Input/Output NullPointerException, aber wieso? [Apache POI] Allgemeine Java-Themen 11
F Input/Output NullPointerException with Apache POI Allgemeine Java-Themen 7
E HILFE !! Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/io/FileUtils Allgemeine Java-Themen 4
J Apache POI - No external workbook with name Allgemeine Java-Themen 5
M Suche aktuelle Apache Poi Bibliothek zum Einbinden in mein Programm Allgemeine Java-Themen 2
MiMa Apache Tika: Warnmeldungen und Beispielcode Allgemeine Java-Themen 12
X Performance für Tomcat / Apache optimieren Allgemeine Java-Themen 2
G Ant Probleme bei einer Installation die Apache ant+ivy verwendet Allgemeine Java-Themen 14
FrittenFritze Swing Apache Batik - Zoom an einer bestimmten Stelle Allgemeine Java-Themen 4
K Apache poi: Deprecated getCellType Allgemeine Java-Themen 3
J Apache POI Excel- Blattschutz aufheben Allgemeine Java-Themen 2
I Apache POI Word Text einfügen Allgemeine Java-Themen 26
T Geschlossen: Apache POI - Excel einlesen Allgemeine Java-Themen 0
K Apache POI Word Tabelle Zellen verbinden Allgemeine Java-Themen 4
K Apache POI Word Tabelle Spaltenbreite festlegen Allgemeine Java-Themen 7
K Apache POI Word bestimmte Textstellen bearbeiten Allgemeine Java-Themen 1
R Apache POI XSSF Allgemeine Java-Themen 2
E Apache POI Powerpoint Verlinkungen ändern Allgemeine Java-Themen 4
T xls-Datei per Apache Commons CsvParser einlesen UTF-8 Zeichen russische Zeichen Allgemeine Java-Themen 2
zer0zer0 Best Practice apache common cli - optionen für hilfe ausblenden Allgemeine Java-Themen 5
S Eclipse Apache Camel FTP: Fehlerbehandlung, wie? Allgemeine Java-Themen 2
H Excel Datei einlesen mit Apache POI Allgemeine Java-Themen 1
GianaSisters Apache POI - Hyperlink erstellen Allgemeine Java-Themen 0
reibi Apache PDFBox Allgemeine Java-Themen 0
T Mit Apache Poi Daten aus einer Excel Tabelle kopieren und in Word einfügen Allgemeine Java-Themen 1
C Was bekomme ich eine Nullpointerexception? (Apache POI) Allgemeine Java-Themen 3
S OOP Apache Commons Math - Verwendung von Genetics - Wie werden Daten in Chromosomen gespeichert? Allgemeine Java-Themen 4
H Apache POI HSSF - Farbe/Rahmen etc. ohne Style-Vorlage? Allgemeine Java-Themen 4
E Apache POI-Datei lesen und umschreiben Allgemeine Java-Themen 8
G Input/Output Apache POI Excel Allgemeine Java-Themen 5
L Apache CLI: Args[] übergeben Allgemeine Java-Themen 3
P docx mit Apache POI auslesen, verändern und zurückschreiben Allgemeine Java-Themen 2
N Applet Apache Poi Wert einer Formel ausgeben Allgemeine Java-Themen 5
L Apache Common CLI Allgemeine Java-Themen 4
J Webstart (auf Apache) jnlp wird nicht geladen Allgemeine Java-Themen 2
S HTTP Apache HTTPClient Problem Allgemeine Java-Themen 4
R org.apache.http kompletter Internetausfall Allgemeine Java-Themen 7
J xlsx Dateien lesen OHNE apache POI Allgemeine Java-Themen 6
V Für was benötigt man Apache Common Allgemeine Java-Themen 3
V Apache POI Excel Datum auslesen Allgemeine Java-Themen 6
V Apache POI Excel Sheet auslesen Allgemeine Java-Themen 5
B Problem mit RegEs und org.apache.regexp.RE Allgemeine Java-Themen 5
T Apache POI Export EXCEL - [Zahlen-Werte] Allgemeine Java-Themen 1
Landei Erfahrungen mit JavaConfig oder Apache Commons Config? Allgemeine Java-Themen 3
J Apache FTPClient upload Allgemeine Java-Themen 3
A Apache License, Version 2.0 Allgemeine Java-Themen 7
S Bzip2 apache commons-compress Allgemeine Java-Themen 3
Chris81T Apache FOP 0.20-5 mit JNI von C++ Code aufrufen Allgemeine Java-Themen 8
C Apache POI(HSSF) Conditional Formatting Allgemeine Java-Themen 3
G Apache soll mit SVN zusammenarbeiten Allgemeine Java-Themen 3
E Apache Commons - PropertyConfiguration - Autosave Allgemeine Java-Themen 2
G Servlet über apache Tomcat ansprechen Allgemeine Java-Themen 6
alexpetri DirectoryWalker apache.commons Allgemeine Java-Themen 3
S Apache Commons Net geht nicht Allgemeine Java-Themen 5
G mit Apache-Jakarta-POI auch Graphiken aus Excel einlesen? Allgemeine Java-Themen 3
T Apache Lucene Allgemeine Java-Themen 2
Q Ant und org.apache.log4j.xml.DOMConfigurator Problem Allgemeine Java-Themen 2
M Java Webserver - Tomcat alleine oder zusammen mit Apache? Allgemeine Java-Themen 3
N neue Objektnamen durchlaufen Allgemeine Java-Themen 12
C Java11+ JavaFX HtmlEditor ContextMenu neue MenuItems hinzufügen Allgemeine Java-Themen 5
B Java Mail: Prüfung auf neue Emails Allgemeine Java-Themen 1
ralfb1105 Blöcke aus Datei filtern/suchen und in neue Datei schreiben Allgemeine Java-Themen 10
G Excel Tabelle lesen und in neue Excel Tabelle einfügen Allgemeine Java-Themen 11
E neue Lizenzpflicht Java Allgemeine Java-Themen 10
T ändern neue Java Versionen was an der Programmiersprache? Allgemeine Java-Themen 15
K Mit Button neue Klasse öffnen Allgemeine Java-Themen 9
C Classpath Neue Klasse über einen Button ausführen Allgemeine Java-Themen 3
KeVoZ_ Nacheinander folgende Strings in Textdokument auf neue Zeile schreiben Allgemeine Java-Themen 6
J Java Software Compare Files und Neue File erstellen Allgemeine Java-Themen 0
K Einfaches Array in 2 neue aufteilen. Allgemeine Java-Themen 2
N Neue Software in Java 7 oder 8? Allgemeine Java-Themen 3
K Neue Elemente in JList einfügen Allgemeine Java-Themen 2
K Methode soll neue Buttons erstellen Allgemeine Java-Themen 5
S Best Practice verschiedene Exceptions fangen und neue Exception erzeugen Allgemeine Java-Themen 11
W Vergleich eines Datenträgers auf neue Dateien Allgemeine Java-Themen 14
N Datenstrukturen an neue Klasse übergeben Allgemeine Java-Themen 16
M Neue Instanz/Kopie einer unbekannten Klasse Allgemeine Java-Themen 7
F Wie zur Laufzeit ganz neue Objekte erzeugen? Allgemeine Java-Themen 5
J Neue Wörter bilden Allgemeine Java-Themen 10
S Neue Instanz eines Objekts erzeugen - Konstruktor erhaelt Parameter. Allgemeine Java-Themen 5
J Was ist schneller? Neue Variable oder neuer Wert speziell int Allgemeine Java-Themen 3
T Log4J: Bei Programmstart immer eine neue LogDatei erzeugen Allgemeine Java-Themen 9
J Text einer .csv Datei einlesen und Zeile in NEUE Zeile hänge Allgemeine Java-Themen 1
B Logs - txt-Datei neue Zeile anfuegen, neue Datei erstellen Allgemeine Java-Themen 6

Ähnliche Java Themen

Neue Themen


Oben