406 Stimmen

Antwort Inhaltstyp als CSV

Ich muss eine CSV-Datei als HTTP-Antwort senden. Wie kann ich die Ausgabeantwort als CSV-Format festlegen?

Das funktioniert nicht:

Response.ContentType = "application/CSV";

589voto

AnthonyWJones Punkte 182582

Verwendung von text/csv ist der am besten geeignete Typ.

Sie sollten auch in Erwägung ziehen, eine Content-Disposition Header in der Antwort. Häufig wird ein Text/csv von einem Internet Explorer direkt in eine gehostete Instanz von Excel geladen. Dies kann ein wünschenswertes Ergebnis sein, muss es aber nicht.

Response.AddHeader("Content-Disposition", "attachment;filename=myfilename.csv");

In diesem Fall wird ein Dialogfeld "Speichern unter" angezeigt, was Sie vielleicht beabsichtigen.

210voto

sastanin Punkte 38556

Der MIME-Typ der CSV-Datei ist text/csv laut RFC 4180 .

86voto

ibz Punkte 40764

Utilice text/csv als Inhaltstyp.

55voto

dangerous Punkte 549

Im Laufe der Jahre habe ich eine perfekte Reihe von Kopfzeilen für diese Zwecke entwickelt, die in allen mir bekannten Browsern hervorragend funktionieren

// these headers avoid IE problems when using https:
// see http://support.microsoft.com/kb/812935
header("Cache-Control: must-revalidate");
header("Pragma: must-revalidate");

header("Content-type: application/vnd.ms-excel");
header("Content-disposition: attachment; filename=$filename.csv");

30voto

diclophis Punkte 2414

Versuchen Sie einen dieser anderen Mime-Typen (von hier: http://filext.com/file-extension/CSV )

  • text/komma-getrennte-werte
  • text/csv
  • Anwendung/csv
  • Anwendung/Excel
  • anwendung/vnd.ms-excel
  • anwendung/vnd.msexcel

Auch der Mime-Typ könnte auf Groß- und Kleinschreibung achten...

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X