CSV - Export

  • Themenstarter Themenstarter Bommesdieder
  • Beginndatum Beginndatum
B

Bommesdieder

Gast
Hi,

ich möchte einen CSV - Export machen momentan sieht dass alles wie folgt aus nun ist meine Frage wie bekomm ich es hin, dass es in Excel geöffnet wird und richtig angezeigt?

Am besten wären Code-Beispiele!!! Danke


Java:
public void getCSV(ActionEvent event) {
		if (gxsnrhsListBinding != null && gxsnrhsListBinding.getItems().size() > 0) {
			Iterator<GxsnrhsRow> it = gxsnrhsListBinding.getItems().iterator();
			String csv = "";
			while (it.hasNext()) {
				SeriennummernBean.GxsnrhsRow objekt = (SeriennummernBean.GxsnrhsRow) it
						.next();
				
				// Wenn feld nicht null dann soll es .trim();
				if (objekt.getGxsnrhs().getShiden() != null) {
					objekt.getGxsnrhs().setShiden(objekt.getGxsnrhs().getShiden().trim());
				}
				
				if(objekt.getGxsnrhs().getShanr1() != null) {
					objekt.getGxsnrhs().setShanr1(objekt.getGxsnrhs().getShanr1().trim());
				}
				
				if(objekt.getGxsnrhs().getShsrn() != null) {
					objekt.getGxsnrhs().setShsrn(objekt.getGxsnrhs().getShsrn().trim());
				}
				
				if(objekt.getGxsnrhs().getShpid() != null) {
					objekt.getGxsnrhs().setShpid(objekt.getGxsnrhs().getShpid().trim());
				}
				
				if(objekt.getGxsnrhs().getShdatum() != null) {
					objekt.getGxsnrhs().setShdatum(objekt.getGxsnrhs().getShdatum());
				}
				
				csv += objekt.getGxsnrhs().getShiden() + ";"+ 
					   objekt.getGxsnrhs().getShanr1() + ";"+
				       objekt.getGxsnrhs().getShsrn() + ";"+
				       objekt.getGxsnrhs().getShpid() + ";"+
				       objekt.getGxsnrhs().getShdatum()+ ";\n";
			}
			System.out.println(csv);
		}		
	}
 
das was du da machst hat mit einem "export" wenig zu tun. du gibst lediglich eine zeichenkette auf die konsole aus. wenn du das jetzt in einer datei haben willst, musste das halt erstmal in eine datei schreiben. danach entscheidet dein os darüber, womit es das aufmachen will. im standard ist das bei csv-dateien auch excel.

ausserdem solltest du für sowas auf jedenfall einen StringBuilder nehmen. Strings sind immutable (unveränderbar) und deshalb spamst du mit sowas deinen pool mit enorm vielen stringobjekten. könnte zwar vom compiler optimiert werden aber ich würde mich da nicht darauf verlassen und sowas explizit tun.
 
Hallo,

1. Was funktioniert den nicht?
2. Welche Excelversion verwendest du den?

Bei manchen Excelversionen kann man die csv-Datei nicht mit einen Doppelklick öffnen. Man muß zuerst Excel starten und dann die Datei über den Öffnen-Dialog öffnen.

Nachtrag: Upps, habe ganz übersehen, das du noch nicht mal eine Datei erstellt hast.

MfG
hansmueller
 

Zurück
Oben