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
fuerteb Compiler-Fehler Methode wird nicht bzw. als Fehler erkannt Java Basics - Anfänger-Themen 4
N Wozu nutzt man in der Main Methode das args Array? Java Basics - Anfänger-Themen 10
JensXF Methode überschreiben, so richtig? Java Basics - Anfänger-Themen 4
J Wert zurückgeben über get Methode Java Basics - Anfänger-Themen 8
J Interface methode aufrufen (interface parameter) Java Basics - Anfänger-Themen 7
M Get Methode alles einzeln? Java Basics - Anfänger-Themen 6
M Von einem Menü Methode aus anderer Klasse ausführen, die errechnete Werte in Datei schreibt. Java Basics - Anfänger-Themen 8
J Methode verstehen Java Basics - Anfänger-Themen 3
L Methode in setText() setzen Java Basics - Anfänger-Themen 6
B eine methode erstellen Java Basics - Anfänger-Themen 7
D Methode Java Basics - Anfänger-Themen 7
T Auf Instanz der selben Klasse aus überschriebener Methode in Methode zugreifen. Java Basics - Anfänger-Themen 2
amelie123456 Geschwindigkeit der Methode bewegeDich eines Objekts ändern Java Basics - Anfänger-Themen 2
M mehrere Rückgabenwerte aus Methode Java Basics - Anfänger-Themen 7
Stargirlxo Iterator + Methode Java Basics - Anfänger-Themen 10
G Rekursive Methode mit 2 Aufrufen Java Basics - Anfänger-Themen 1
H Warum kann man keine Parameter in die main-Methode packen? Java Basics - Anfänger-Themen 4
G return 1 + methode Java Basics - Anfänger-Themen 4
T Methode schreiben, die einem Array ein Stringelement hinzufügt, wenn dieses noch nicht enthalten ist. Java Basics - Anfänger-Themen 6
Henri Webservice Delete und Update Methode funktioniert nicht Java Basics - Anfänger-Themen 27
T getAttribut in einer Methode aufrufen Java Basics - Anfänger-Themen 8
T Methode um Array mit for-each-Schleife auszulesen Java Basics - Anfänger-Themen 7
N Groß- und Kleinschreibung bei Java: void Methode Java Basics - Anfänger-Themen 1
BorussiaMG1900 Implementation einer Methode Java Basics - Anfänger-Themen 1
H Kürzere Scan Methode Java Basics - Anfänger-Themen 7
J Problem mit einer Methode die gewissen Inhalt einer Array löschen soll Java Basics - Anfänger-Themen 9
J Problem mit einer Methode, die beliebig viele Objekte in Array speichern soll Java Basics - Anfänger-Themen 6
L Methode für Zweidimensionale Arrays Java Basics - Anfänger-Themen 4
H Methode mit Array als Rückgabe This method must return a result of Type int[] Java Basics - Anfänger-Themen 2
G Erste Schritte Array Mittelwert Methode Programmieren Java Basics - Anfänger-Themen 5
O Methode in while-Schleife aufrufen geht nur beim ersten Mal Java Basics - Anfänger-Themen 2
KogoroMori21 Methode in der main ausgeben Java Basics - Anfänger-Themen 2
LetsSebi Methode, die einen arry von objekten speichert in einer datei Java Basics - Anfänger-Themen 6
L Methode zum invertieren eines Arrays Java Basics - Anfänger-Themen 7
s_1895 zu viele Zeilen in der Main Methode Java Basics - Anfänger-Themen 4
M Rekursive Java-Methode Java Basics - Anfänger-Themen 13
H Methode über String Wert aufrufen Java Basics - Anfänger-Themen 8
B Methoden warum macht die Methode nicht das was ich erwarte? Java Basics - Anfänger-Themen 2
L Attribute aus Klasse in berechnungs Methode übergeben Java Basics - Anfänger-Themen 1
Y Aufruf von Methode nicht möglich. Java Basics - Anfänger-Themen 2
O Instanzattribut per Getter Methode zuweisbar, warum? Java Basics - Anfänger-Themen 3
C Größte Zahl aus einem Array ermitteln(als statische Methode) Java Basics - Anfänger-Themen 31
G Methoden Methode die aus einem Array ein Index ausgibt? Java Basics - Anfänger-Themen 2
R Boolean Methode Rückgabewert if() Java Basics - Anfänger-Themen 1
P Methode die ausgibt wie viele Primzahlen es zwischen 2 und n gibt Java Basics - Anfänger-Themen 10
G Rekursive Methode liefert augenscheinlich keinen boolean-Wert zurück. Java Basics - Anfänger-Themen 4
kazzam94 Methode soll Array von Boolean zurückgeben Java Basics - Anfänger-Themen 5
M negate Methode Java Basics - Anfänger-Themen 13
JavaClara Fehlermeldung bei split-Methode Java Basics - Anfänger-Themen 12
A Methode in einer anderen Klasse verwenden Java Basics - Anfänger-Themen 1
Eule25 Methode mit Array Java Basics - Anfänger-Themen 4
J Methoden Frage: Array-Werte in anderer Methode ändern Java Basics - Anfänger-Themen 4

Ähnliche Java Themen


Oben