Apache Poi - createCell() Methode akzeptiert keinen Index aus for-schleife als Parameter

J

JuriW

Aktives Mitglied
Ich will 2 Spalten aus einem bestehendem Excel Sheet in ein neues kopieren. Zuerst alle Zellen der ersten Spalte des alten sheets, dann alle Zellen der zweiten Spalte des alten sheets.

Java:
private static void createNewWorkBook(XSSFSheet oldSheet) {
    XSSFWorkbook newWorkbook = new XSSFWorkbook();

    XSSFSheet newSheet = newWorkbook.createSheet("test-sheet");
    for (int columnIndex = 0; columnIndex < 2; columnIndex++) {
        int rowIndex = 0;
        for (Row oldRow : oldSheet) {
            XSSFRow newRow = newSheet.createRow(rowIndex);
            XSSFCell newCell = newRow.createCell(columnIndex); 
            newCell.setCellValue("Hello"); // just for test purposes

            // newCell.setCellValue(oldSheet.getRow(rowIndex).getCell(columnIndex).getStringCellValue());

            rowIndex++;
        }

    }

    try {
        FileOutputStream fos = new FileOutputStream(new File("CreateExcelDemo.xlsx"));
        newWorkbook.write(fos);
        fos.close();
    } catch (
            IOException e) {
        e.printStackTrace();
    }
}

Leider funktioniert das so nicht. Die erste Spalte im neuen Excel-sheet wird freigelassen, und die zweite hat alle Werte. createCell() nimmt aus irgendeinem Grund meinen columnIndex nicht an, sondern verwendet immer nur den letzten Wert des index (also 1 in diesem Fall). Falls ich jedoch 0 händisch eingebe, wird die erste Spalte befüllt. Wo liegt mein Fehler?
 
kneitzel

kneitzel

Top Contributor
was erwartest Du auch? Du erzeugst ja erst neue Rows für die erste Spalte ... wenn du damit durch bist, erzeugst du neue Rows für die zweite Spalte. Was soll Deiner Meinung nach passieren, wenn du eine neue erste Zeile erzeugst?
Das Pattern ist doch eigentlich einfach und logisch:
Für jede Zeile des Ursprungsdokumentes erzeugst Du eine neue Zeile im Ziel Dokument und fügst da alle Werte hinzu.
 
J

JuriW

Aktives Mitglied
Danke, habs nun gelöst.

Java:
  private static void createNewWorkBook(XSSFSheet oldSheet) {
        XSSFWorkbook newWorkbook = new XSSFWorkbook();

        XSSFSheet newSheet = newWorkbook.createSheet("test-sheet");
        for (int columnIndex = 0; columnIndex < 2; columnIndex++) {
            int rowIndex = 0;
            for (Row oldRow : oldSheet) {

                XSSFRow newRow = newSheet.getRow(rowIndex);
                if (newRow == null) {
                    newRow = newSheet.createRow(rowIndex);
                }
                XSSFCell newCell = newRow.createCell(columnIndex);
                newCell.setCellValue("Hello"); // just for test purposes

                // newCell.setCellValue(oldSheet.getRow(rowIndex).getCell(columnIndex).getStringCellValue());

                rowIndex++;
            }

        }

        try {
            FileOutputStream fos = new FileOutputStream(new File("CreateExcelDemo.xlsx"));
            newWorkbook.write(fos);
            fos.close();
        } catch (
                IOException e) {
            e.printStackTrace();
        }
    }
 
kneitzel

kneitzel

Top Contributor
Ok, wobei ich einfach die Schleifen getauscht hätte :) Oder wenn es generell nur um 2 Zellen geht, dann wäre es sogar denkbar, da einfach zwei Zeilen draus zu machen a.la.
newRow.createCell(0).setCellValue(oldSheet.getRow(rowIndex).getCell(0).getStringCellValue());newRow.createCell(1).setCellValue(oldSheet.getRow(rowIndex).getCell(1).getStringCellValue());
 
J

JuriW

Aktives Mitglied
An sich geht es nicht nur um zwei Zellen, ich wollte einfach das Problem abstrahieren :) Aber danke für deine Hilfe!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P NoClassDefFoundError: org/apache/commons/collections4/ListValuedMap trotz vorhandener Klasse? Java Basics - Anfänger-Themen 10
P Maven-Dependencies (package org.apache.http.nio does not exist) Java Basics - Anfänger-Themen 6
M Java Einstellung von Apache POI für MS Word Erstellung mit Eclipse Java Basics - Anfänger-Themen 6
Bluedaishi Apache Tomcat 9 Java Basics - Anfänger-Themen 7
O Apache POI Zeilenfarbe Java Basics - Anfänger-Themen 2
M Apache POI PPT - Vertikales Alignment von Text im XSLFAutoShape Java Basics - Anfänger-Themen 2
O Apache: Log-Settings werden nicht gezogen Java Basics - Anfänger-Themen 0
D Apache POI Tabelle wechseln Java Basics - Anfänger-Themen 2
E Apache Derby mit Eclipse Java Basics - Anfänger-Themen 2
K Apache POI Excel Letzte Reihe einer bestimmten Spalte Java Basics - Anfänger-Themen 1
O Problem mit optionalen Argumenten - Apache CLI - Java Basics - Anfänger-Themen 2
S Prüfen ob Zelle in Excel leer ist funktioniert nicht (Apache POI) Java Basics - Anfänger-Themen 18
D Daten mit Apache POI in eine Excel Datei schreiben Java Basics - Anfänger-Themen 5
O POI Apache sheet scanner Java Basics - Anfänger-Themen 1
Joew0815 Error org.apache.xmlrpc.client.XmlRpcClientConfigImpl.setUserAgent Java Basics - Anfänger-Themen 2
S Wie bestehende Excel-Einträge mit neuen Vergleichen (mit Apache POI)? Java Basics - Anfänger-Themen 0
D Apache POI - XWPF - MS Word Java Basics - Anfänger-Themen 0
T Apache POI (Excel) - Probleme mit Zahlenformat Java Basics - Anfänger-Themen 2
U Apache Ant Java Basics - Anfänger-Themen 4
B Apache: jar-Datei Download als jar und nicht als zip Java Basics - Anfänger-Themen 4
D Import von import org.apache.commons.math3...... Java Basics - Anfänger-Themen 2
E apache-commons-net einbinden. Java Basics - Anfänger-Themen 18
Gossi Datentypen Probleme mit Apache Poi Java Basics - Anfänger-Themen 2
B org.apache.commons.... Folder in Projekt einfügen Java Basics - Anfänger-Themen 6
S org.apache.commons.net.* Java Basics - Anfänger-Themen 3
J Classpath Apache POI Java Basics - Anfänger-Themen 14
N Apache POI pptSlide erzeugen Java Basics - Anfänger-Themen 2
K apache poi - Spalten zählen Java Basics - Anfänger-Themen 4
G Apache POI Filter erstellen Java Basics - Anfänger-Themen 14
G Mit Apache POI Kopfzeilen definieren Java Basics - Anfänger-Themen 11
Strahlungsleck Datentypen Apache Poi & Excel Datumsformat Java Basics - Anfänger-Themen 4
D Apache Commons Telnet Java Basics - Anfänger-Themen 2
A Apache POI - HSSF vs. XSSF Problem Java Basics - Anfänger-Themen 4
K Apache Deby installieren? Java Basics - Anfänger-Themen 3
P "import" org.apache.xxxxxxx Java Basics - Anfänger-Themen 18
J Problem bei Apache ANT Java Basics - Anfänger-Themen 2
G http-Port beim Apache Tomcat ändern Java Basics - Anfänger-Themen 1
G org.apache.commons.httpclient Java Basics - Anfänger-Themen 3
G Apache Tomcat startet nicht da JAVA_HOME nicht definiert Java Basics - Anfänger-Themen 3
G Context Listener des Apache Tomcat verwenden Java Basics - Anfänger-Themen 4
alexpetri installation einer WAR datei auf apache Java Basics - Anfänger-Themen 3
G http-Request auf Apache Tomcat Java Basics - Anfänger-Themen 13
Y Problem mit org.apache.commons.httpclient Java Basics - Anfänger-Themen 3
E Apache jakarta fehler Java Basics - Anfänger-Themen 5
K MySQL-Connector auf Apache Java Basics - Anfänger-Themen 4
S HttpClient von apache benutzen? Java Basics - Anfänger-Themen 2
G StringUtils von jakarta.apache.org/commons/lang/api einbauen Java Basics - Anfänger-Themen 3
D Apache.Xerces unter Eclispe? import/plugin/package? Java Basics - Anfänger-Themen 2
S HashMap contains() Methode Java Basics - Anfänger-Themen 1
F Methoden Methode richtig aufrufen Java Basics - Anfänger-Themen 3
JD_1998 Array-Position aus einer Methode in einer anderen ausgeben (Kurze Frage) Java Basics - Anfänger-Themen 2
JD_1998 Random Array sortieren mit Hilfe einer Methode Java Basics - Anfänger-Themen 4
T Methode implementieren Java Basics - Anfänger-Themen 21
JD_1998 Vorgegebene Methode erweitern um Hex -> Dezimal umzuwandeln Java Basics - Anfänger-Themen 1
A While Schleife - buubelsort methode Java Basics - Anfänger-Themen 2
NeoLexx equals()-Methode Verständnis Frage anhand Code Beispiel Java Basics - Anfänger-Themen 22
X compareTo Methode wird ignoriert Java Basics - Anfänger-Themen 7
macle Rekursive String Methode, Gerade Zahlen rausfiltern Java Basics - Anfänger-Themen 10
B Wie kann ich etwas vor der Main-Methode ausführen? Java Basics - Anfänger-Themen 21
J Methode als Class anlegen Java Basics - Anfänger-Themen 7
K Übergabe von Werten (zweidimensionales Array) aus einer Methode an zweidimensionales Array in main() Java Basics - Anfänger-Themen 3
M this.object in einer parameterlosen Methode verwenden Java Basics - Anfänger-Themen 3
P Methode trim() ohne StringBuilder Java Basics - Anfänger-Themen 1
N Selection Algorithmus: Methode wird nicht erkannt (BlueJ) Java Basics - Anfänger-Themen 3
P Problem beim Überschreiben einer vererbten Methode Java Basics - Anfänger-Themen 4
B Methode für jede beliebe Entity erstellen Java Basics - Anfänger-Themen 7
O BiPredicate in einer forEach Methode Java Basics - Anfänger-Themen 10
B Klassen Abstrake Klasse und Template Methode Java Basics - Anfänger-Themen 4
parrot Array: Methode fügeHinzu Java Basics - Anfänger-Themen 13
B Eine Methode erstellen Java Basics - Anfänger-Themen 3
G Java charAt Methode Java Basics - Anfänger-Themen 10
B main Methode Java Basics - Anfänger-Themen 5
L Methode implementieren, Parameter die übergeben werden sind final Java Basics - Anfänger-Themen 4
G Java LinkedList remove Methode Java Basics - Anfänger-Themen 5
L Wie greife ich in der Subklasse auf die Parameter einer Methode der Superklasse zu ? Java Basics - Anfänger-Themen 15
Bluedaishi Hilfe beim erklären dieser Methode Java Basics - Anfänger-Themen 5
N Methode um Objekte einer Liste hinzuzufügen Java Basics - Anfänger-Themen 1
1 main-Methode erweitern, Nachfrage nach wiedeholung Java Basics - Anfänger-Themen 2
Y Methode + Parameters + Ein und Ausgabe Java Basics - Anfänger-Themen 1
L Variable von einer Methode zu einer anderen Methode inkl. einer "Zwischenmethode" Java Basics - Anfänger-Themen 1
G Java equals() Methode Java Basics - Anfänger-Themen 9
I Greedy Methode Methoden nutzen Java Basics - Anfänger-Themen 3
B Hilfe bei einer rekursiven Methode Java Basics - Anfänger-Themen 3
V Collections Methode in der Methode aufrufen Java Basics - Anfänger-Themen 2
A Implementierung von String toString methode() Java Basics - Anfänger-Themen 4
S Auf Methode einer anderen Klasse zugreifen Java Basics - Anfänger-Themen 3
Z Methode zum Heraufinden von Anagrammen ohne Java API, Ausnahme String Java Basics - Anfänger-Themen 14
B Get / Set - Methode für verschiedene Entities? (generisch) Java Basics - Anfänger-Themen 21
J main methode Java Basics - Anfänger-Themen 1
C Methode Seiten tauschen eines erstellten Rechtecks mit Seite A und B Java Basics - Anfänger-Themen 9
R Methode zwei Sortierkriterien der Klasse Comparator übergeben Java Basics - Anfänger-Themen 4
J Methoden set Methode array Java Basics - Anfänger-Themen 2
V Switch Methode macht Code kaputt Java Basics - Anfänger-Themen 18
P Methode die eigentlich einen Scanner benötigt mit toString() Java Basics - Anfänger-Themen 5
S Wann Methode abstract? Java Basics - Anfänger-Themen 10
L Objekt an Methode übergeben Java Basics - Anfänger-Themen 4
H Rekursiv Methode ausführen bei Kindern Java Basics - Anfänger-Themen 12
R Methode Rückgabe Java Basics - Anfänger-Themen 10
M Implementierung einer getNextId Methode Java Basics - Anfänger-Themen 5
bensdt Klasse erweitern um eine Methode "void decrement()" Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Anzeige

Neue Themen


Oben