Ich lerne, wie man mit Apache poi in die xlsx-Datei schreibt. Jetzt verwende ich im folgenden Code 2 Arrays. 1.Monat 2.Logging_Stunden.
Ich verwende das Monats-Array, um den Spaltennamen in der ersten Zeile zuzuweisen, und es funktioniert gut für mich. Jetzt möchte ich, dass das andere Array in meinem Code Logging_Hours in jeder Spalte ausgibt, aber ich erhalte nicht die erwartete Antwort mit dem folgenden Code.
For_Expected siehe Bildschirm :"Expected_Xlsx" For_Actual siehe Bildschirm :"Actual_Xlsx"
public class Writing_xlsx {
public static void main(String[] args) throws IOException {
Workbook wb = new XSSFWorkbook();
Sheet sheet1=wb.createSheet("SheetOne");
String [] Month={"January" , "Feb", "March","Apr"};
int [] Logging_Hours={ 7 ,5, 9,10};
int f=0;
System.out.println(Month[0]);
Row r=sheet1.createRow(f);
for(int i=0;i<4;i++){
r.createCell(i).setCellValue(Month[i]);
}
for(int c=0;c<4;c++){}
int d=0;
while(d<4){
for(int rn=1;rn<=4;rn++) {
r=sheet1.createRow(rn);
r.createCell(d).setCellValue(Logging_Hours[rn-1]);
System.out.println(Logging_Hours[rn-1]);
}
d++;
}
FileOutputStream fileOut = new FileOutputStream("workbook.xlsx");
wb.write(fileOut);
fileOut.close();
wb.close();
}
}
For_Expected siehe Bildschirm :"Expected_Xlsx"
For_Actual siehe Bildschirm :"Actual_Xlsx"
Vielen Dank im Voraus, Entschuldigung für den schlechten Code, ich bin gerade in einer Lernphase.
Sie benötigen zwei for
Schleifen (verschachtelt), um die Daten zu schreiben, zB:
for (int rn = 1; rn <= 4; rn++) {
Row row = sheet1.createRow(rn);
for (int i = 0; i < 4; i++) {
row.createCell(i).setCellValue(Month[rn-1]);
}
}
Die aktuelle for
Schleife erstellt nur eine cell
pro Zeile und schreibt den Wert hinein, während wir die Werte in alle 4 Zellen pro Zeile schreiben müssen.
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen