CSV-Datei erstellen und herunterladen Java (Servlet)

8

Ich arbeite an der JAVA EXTJS-Anwendung, in der ich eine CSV-Datei erstellen und herunterladen muss.

Beim Klicken auf eine Schaltfläche möchte ich eine CSV-Datei auf den Client-Rechner herunterladen.

Auf Tasten Listener Ich rufe ein Servlet mit Ajax. Dort erstelle ich eine CSV-Datei.

Ich möchte nicht, dass die CSV-Datei auf dem Server gespeichert wird. Ich möchte die Datei dynamisch mit Download-Option erstellt werden.

Ich möchte, dass der Inhalt einer Datei als String erstellt wird und dann werde ich den Inhalt als Datei bereitstellen, in der er als Download-Modus im Browser geöffnet wird. (Dies habe ich in anderer Sprache erreicht, bin mir aber nicht sicher, wie ich das erreichen soll in Java)

Hier ist mein Code nur zum Erstellen einer CSV-Datei, aber ich möchte wirklich keine CSV-Datei erstellen oder speichern, wenn ich die Datei nur als CSV herunterladen kann.

%Vor%

Kann mir jemand dabei helfen?

Danke

    
Gourav 27.01.2014, 10:46
quelle

3 Antworten

20

Ich habe die Lösung und schreibe sie unten.

%Vor%

Hier müssen wir die Datei nicht auf dem Server speichern / speichern.

Danke

    
Gourav 28.01.2014, 08:56
quelle
3

Zuerst müssen Sie das HttpServletResponse-Objekt abrufen, damit Sie eine Datei darin streamen können.

Hinweis: Dieses Beispiel ist etwas, das ich für eines meiner Projekte geschrieben habe und es funktioniert. Arbeitet auf Java 7.

Angenommen, Sie haben die HttpServletResponse erhalten, können Sie so etwas tun, um eine Datei zu streamen. Auf diese Weise wird die Datei auf dem Computer des Clients gespeichert.

%Vor%

Und die Stream-Methode sollte so sein.

%Vor%

Was das bedeutet, holen Sie einen Inputstream von Ihrer Quelldatei und schreiben Sie diesen Stream in den Outputstream der HttpServletResponse. Das sollte funktionieren, da es perfekt für mich funktioniert. Hoffe das hilft. Entschuldigung für mein schlechtes Englisch.

    
Nithya 27.01.2014 11:40
quelle
0

Ich möchte etwas zur Antwort von Gaurav hinzufügen. Ich musste diese Funktionalität kürzlich in ein Projekt von mir einfügen und die Verwendung von Javascript kam nicht in Frage, da wir IE 9 unterstützen mussten. Was ist das Problem mit IE 9? ( Export in CSV mit jQuery und html ), siehe die zweite Antwort in der Verbindung.

Ich brauchte einen einfachen Weg, um ein ResultSet einer Datenbankabfrage in eine Zeichenkette zu konvertieren, die dieselben Daten im CSV-Format repräsentiert. Dafür habe ich Ссылка verwendet, was eine einfache Möglichkeit bot, einen String ot des ResultSets zu erhalten, und der Rest ist wie oben beschrieben.

Die Beispiele im Ordner sorce des Projekts geben gute Beispiele.

    
Nitesh Mudireddy 14.08.2014 23:50
quelle

Tags und Links