Frage zum excel export

  • 4 Antworten
  • Letztes Antwortdatum
kukuk

kukuk

App-Anbieter (kostenlos)
37
Hallo alle zusammen, ich benutze das HSSFWorkbook um eine Excel Datei zu erstellen.
Jetzt ist meine Frage, da ich nicht genau sagen kann wieviele Reihen hinzugefügt werde wollte ich das ganze variable machen.

Hiermit erstelle ich eine neue ROW

HSSFRow rowA = firstSheet.createRow(0);

wie kann ich jetzt folgendes realisieren

int zaehler = 0;
HSSFRow row(zaehler) = firstSheet.createRow(zaehler);
zaehler +=1;
 
kukuk schrieb:
Jetzt ist meine Frage, da ich nicht genau sagen kann wieviele Reihen hinzugefügt werde wollte ich das ganze variable machen.
Sicher, dass du das zum Zeitpunkt des Exportes noch nicht weißt? Oder schreibst du ne App, die das Bearbeiten einer Excel-Datei erlaubt und dadurch immer wieder verändert wird? (sogar da wüsstest du zumindest zum zeitpunkt des Speicherns auch wie viel gespeichert werden muss ...)
 
Nein ich weiß nicht wieviele Informationen da rein kommen, da ich eine Export Funktion von meinen Überstunden mache. Und der ließt jede Datei ein und erstellt dann eine ROW.

Und deswegen können es immer unterschiedlich viele Reihen sein.



Weil das so später für die Inhalte der Datensätze zu machen, das funktioniert nicht. Für die Überschrift ist das ja noch ok.

HSSFRow rowA = firstSheet.createRow(0);
HSSFCell cellA = rowA.createCell(0);
cellA.setCellValue(new HSSFRichTextString("Datum:"));

HSSFCell cellB = rowA.createCell(1);
cellB.setCellValue(new HSSFRichTextString("Anzahl der Stunden (h)"));

HSSFCell cellC = rowA.createCell(3);
cellC.setCellValue(new HSSFRichTextString("Anzahl der Minuten (min)"));

HSSFCell cellD = rowA.createCell(5);
cellD.setCellValue(new HSSFRichTextString("Zeitraum der gemachten Überstunden:"));

HSSFCell cellE = rowA.createCell(8);
cellE.setCellValue(new HSSFRichTextString("Bemerkungen:"));



und wenn ich da irgendwie die Variable einbauen kann, die sich erhöht dann muss ich nicht immer RowA-Z schreiben.
Kann man das irgendwie machen?
 
Zuletzt bearbeitet:
kukuk schrieb:
Und der ließt jede Datei ein und erstellt dann eine ROW.
Du machst es ernsthaft so, dass 1 Datei eingelesen wird, dann wird 1 Zeile geschrieben. Dann die nächste Datei usw.?

Hast du, bevor du schreibst Zugriff darauf wie viele Zeilen bereits geschrieben wurden? Wenn ja, kannste ja Anzahl der bereits geschriebenen + 1 nehmen als Variable.
 
  • Danke
Reaktionen: kukuk
Danke dir habs jetzt hinbekommen:

Code:
    datensatz_einlesen();
    
 rowA= firstSheet.createRow(zaehler);

 cellA = rowA.createCell(0);
    
    cellA.setCellValue(new HSSFRichTextString("" + FileName));
    
    
     cellA = rowA.createCell(1);
        
        cellA.setCellValue(new HSSFRichTextString("" + line10));
        
        
cellA = rowA.createCell(3);
        
        cellA.setCellValue(new HSSFRichTextString("" + line20));
        
        
        
cellA = rowA.createCell(5);
        
        cellA.setCellValue(new HSSFRichTextString("" + line40));
    
        
cellA = rowA.createCell(8);
        
        cellA.setCellValue(new HSSFRichTextString("" + line30));
    
     

            
            
    
        }
 
Zurück
Oben Unten