399 votes

Type de contenu de réponse au format CSV

Je dois envoyer un fichier CSV dans la réponse HTTP. Comment puis-je définir la réponse de sortie au format CSV?

Cela ne fonctionne pas:

 Response.ContentType = "application/CSV";
 

580voto

AnthonyWJones Points 122520

L'utilisation de text/csv est le type le plus approprié.

Vous devriez également envisager d'ajouter un en-tête Content-Disposition à la réponse. Souvent, un text / csv sera chargé par Internet Explorer directement dans une instance hébergée d'Excel. Cela peut ou peut ne pas être un résultat souhaitable.

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

Ce qui précède entraînera l'apparition d'une boîte de dialogue "Enregistrer sous", qui correspond peut-être à vos attentes.

203voto

sastanin Points 16061

Le type MIME du CSV est text / csv selon RFC 4180 .

84voto

ibz Points 6855

Utilisez text/csv comme type de contenu.

55voto

David Rainsford Points 391

Au cours des années, j'ai perfectionné un ensemble parfait d'en-têtes pour cela qui fonctionne avec brio dans tous les navigateurs que je connais

 // 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 Points 820

Essayez l'un de ces autres types mime (d'ici: http://filext.com/file-extension/CSV )

  • texte / valeurs séparées par des virgules
  • texte / csv
  • application / csv
  • application / excel
  • application / vnd.ms-excel
  • application / vnd.msexcel

En outre, le type mime peut être sensible à la casse ...

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X