HI,
ich möchte über eine GUI Daten aus einer MySQL nach Excel übergeben. Ich versuche mich zum ersten mal darin.
Die Spalten werden dynamisch je markierter Anzahl erzeugt, aber die Zeilen nicht. Er fragt nur die Werte nur für einen Datensatz ab. Ich gehe davon aus, das die Datenbankabfrage auch noch in Schleife muss um mir in jede Spalte einen Wert zu schreiben.
Das ist das Ergebnis bei drei markierten Personen:
Das soll aber das Ergebnis sein:
Wer kann mir helfen ??
ich möchte über eine GUI Daten aus einer MySQL nach Excel übergeben. Ich versuche mich zum ersten mal darin.
Java:
public void termineDrucken(ActionEvent event) {
ObservableList<Mitarbeiter> selektierteMitarbeiter = lvFachberater.getSelectionModel().getSelectedItems();
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet("TABELLE1");
XSSFRow rowhead = sheet.createRow(0);
try (PreparedStatement pstXlsTv30 = con1.prepareStatement(
"SELECT SUM(w.tage) AS sumEmpVjServicetage FROM myteam.servicetage_woche w WHERE w.mitarbeiter =? AND w.jahr =?");) {
for (int i = 0; i < selektierteMitarbeiter.size(); i++) {
rowhead.createCell(0).setCellValue("");
rowhead.createCell(i + 1).setCellValue(selektierteMitarbeiter.get(i).getVorname());
sheet.setColumnWidth(0, 2000);
sheet.setColumnWidth(i + 1, 3000);
pstXlsTv30.setInt(1, selektierteMitarbeiter.get(i).getMitarbeiter_id());
pstXlsTv30.setInt(2, 2018);
try (ResultSet rs = pstXlsTv30.executeQuery();) {
int j = 1;
while (rs.next()) {
XSSFRow row = sheet.createRow(j);
row.createCell(0).setCellValue("2018");
row.createCell(i).setCellValue(rs.getString("sumEmpVjServicetage"));
j++;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
String kundentickets = "c:/temp/kunden.xlsx";
FileOutputStream fileOut = new FileOutputStream(kundentickets);
workbook.write(fileOut);
fileOut.close();
Desktop.getDesktop().open(new File(kundentickets));
} catch (IOException e1) {
e1.printStackTrace();
} catch (SQLException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
}
}
Die Spalten werden dynamisch je markierter Anzahl erzeugt, aber die Zeilen nicht. Er fragt nur die Werte nur für einen Datensatz ab. Ich gehe davon aus, das die Datenbankabfrage auch noch in Schleife muss um mir in jede Spalte einen Wert zu schreiben.
Das ist das Ergebnis bei drei markierten Personen:
Claudius | Mirko | Ronny | |
2018 | 36 |
Das soll aber das Ergebnis sein:
Claudius | Mirko | Ronny | |
2018 | 16 | 29 | 36 |
Wer kann mir helfen ??