Ich habe etwas recherchiert, konnte aber nicht herausfinden, wie ich das lösen kann. Ich möchte die Möglichkeit geben, einige Datensätze aus meiner Datenbank nach CSV zu exportieren, wenn ein Benutzer klick auf "Datensätze ohne Mail-ID exportieren" klickt. Was ist der beste Weg, dies zu erreichen? In meiner Forschung finde ich heraus, dass Leute nur Servlets als Beispiele verwenden, aber für mich verwende ich keine Servlets.JSP und SPRING Boot: Generiere CSV-Datei von JSON-Eingabe?
Dies ist mein Controller:
@RequestMapping(value = "/eblnotif/exportMailId", method = RequestMethod.POST, produces = "application/json")
public @ResponseBody List<EblNotifResource> exportMailIdCsv(@RequestBody Filters filters)
throws IllegalAccessException, IllegalArgumentException, InvocationTargetException, NoSuchMethodException,
SecurityException, IOException {
List<EblNotif> eblnotif_list = accountSservice.exportMailIdCsv(filters);
List<EblNotifResource> eblnotifres = new ArrayList<>();
for (EblNotif eblNotif : eblnotif_list) {
EblNotifResource eblres = new EblNotifResource();
eblres.setFormName(eblNotif.getFormName());
eblres.setSendingDate(eblNotif.getSendingDate());
eblres.setMode(eblNotif.getMode());
eblres.setLanguage(eblNotif.getLanguage());
eblres.setGpart(eblNotif.getGpart());
eblres.setEmail(eblNotif.getEmail());
eblres.setMailId(eblNotif.getMailId());
eblnotifres.add(eblres);
}
return eblnotifres;
}
}
Und gibt zurück an den Client (JSP) das JSON-Format:
[
{
"formName":"FormName1",
"mode":"S",
"language":"F",
"sendingDate":"2017-04-03",
"gpart":"555",
"email":"",
"mailId":"96318"
},
{
"formName":"FormName2",
"mode":"S",
"language":"F",
"sendingDate":"2017-04-03",
"gpart":"444",
"email":"",
"mailId":"96325"
}
]
Die im csv gewünschten Ausgang so etwas wie sein:
formName;mode;language;sendingDate;gpart;email;mailId
FormName1;S;F;2017-04-03;555;[email protected];96318
FormName2;S;F;2017-04-03;444;[email protected];96325
Warum konvertieren Sie es nicht in eine CSV-Datei in Ihrer Controller-Methode und geben die resultierende CSV-Zeichenfolge als Antworttext zurück? –
Hallo danke für deine Antwort. Weil ich es nicht schaffen würde. Wenn ich es sofort in meinem Controller konvertiere, ist es auch gut. Können Sie mir bitte Links oder Beispiele nennen, wie Sie es erreichen können? Vielen Dank – algorithmic