ist das die Frage? ja so in der Richtung...Das hat doch sicher schon mal jemand implementiert.
public void loadCSV(){
CsvMapWriter writer = new CsvMapWriter(new OutputStreamWriter(new FileOutputStream("meineDatei.csv", true),"UTF-8"), CsvPreference.EXCEL_PREFERENCE);
final String[] header = new String[] { "id", "vorname", "nachname", "eintrittsdatum", "austrittsdatum", "emailadresse", "kostenstelle_fk"};
final HashMap<String, ? super Object> data = new HashMap<String, Object>();
data.put(header[0], this.id);
data.put(header[1], this.vorname);
data.put(header[2], this.nachname);
data.put(header[3], this.eintrittsdatum);
data.put(header[4], this.austrittsdatum);
data.put(header[5], this.emailadresse);
data.put(header[6], this.kostenstelle_fk);
writer.write(data, header);
writer.close();
String s = "LOAD DATA [LOCAL] INFILE 'meineDatei.csv' [REPLACE] INTO TABLE meine_tabelle FIELDS TERMINATED BY ',' " +
"OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\n' (id, vorname, nachname, eintrittsdatum, austrittsdatum, personalnummer, emailadresse, racf, kostenstelle_fk, vorgesetzter_fk)";
Query query=em.createNamedQuery(s);
}
public void handleFileUpload(FileUploadEvent event) {
logger.info("Uploaded: {}", event.getFile().getFileName());
loadCSV();
FacesMessage msg = new FacesMessage("Succesful", event.getFile().getFileName() + " is uploaded.");
FacesContext.getCurrentInstance().addMessage(null, msg);
}
}
public void handleFileUpload(FileUploadEvent event) {
logger.info("Uploaded: {}", event.getFile().getFileName());
InputStream in = event.getFile().getInputStream();
CSVReader reader = new CSVReader(new InputStreamReader(is));
List<String> entries = reader.readAll();
CSVWriter writer = new CSVWriter(new FileWriter("meineDatei.csv"));
writer.writeAll(entries);
String s = "LOAD DATA [LOCAL] INFILE 'meineDatei.csv' [REPLACE] INTO TABLE meine_tabelle FIELDS TERMINATED BY ',' " +
"OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\n' (id, vorname, nachname, eintrittsdatum, austrittsdatum, personalnummer, emailadresse, racf, kostenstelle_fk, vorgesetzter_fk)";
Query query=em.createNativeQuery(s);
FacesMessage msg = new FacesMessage("Succesful", event.getFile().getFileName() + " is uploaded.");
FacesContext.getCurrentInstance().addMessage(null, msg);
}
wo hast du den code her?Ich verstehe nur leider nicht, dass es in loadCSV() keine Schleife gibt.
Ich bekomme noch einen Compiler- Fehler bei this.vorname etc.
Ich hätte da jetzt eine Schleife gemacht und bei jedem Durchlauf ein neues Objekt angelegt?