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";
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";
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.
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");
Versuchen Sie einen dieser anderen Mime-Typen (von hier: http://filext.com/file-extension/CSV )
Auch der Mime-Typ könnte auf Groß- und Kleinschreibung achten...
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.