[asp.net] CSV 형식의 응답 컨텐츠 유형

HTTP 응답으로 CSV 파일을 보내야합니다. 출력 응답을 CSV 형식으로 설정하려면 어떻게해야합니까?

작동하지 않습니다.

Response.ContentType = "application/CSV";



답변

사용하는 text/csv것이 가장 적합한 유형입니다.

Content-Disposition응답에 헤더를 추가하는 것도 고려해야 합니다. Internet Explorer에서 text / csv를 호스팅 된 Excel 인스턴스로 직접로드하는 경우가 종종 있습니다. 이것은 바람직한 결과 일 수도 있고 아닐 수도 있습니다.

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

위와 같이하면 “다른 이름으로 저장”대화 상자가 나타나게되어 원하는 것일 수 있습니다.


답변

CSV의 MIME 유형은 RFC 4180 에 따른 text / csv 입니다.


답변

text/csv컨텐츠 유형으로 사용하십시오 .


답변

수년 동안 나는 내가 알고있는 모든 브라우저에서 훌륭하게 작동하는 완벽한 헤더 세트를 연마 해 왔습니다.

// 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");


답변

이 다른 마임 유형 중 하나를 시도하십시오 (여기 : http://filext.com/file-extension/CSV )

  • 텍스트 / 쉼표로 구분 된 값
  • text / csv
  • 응용 프로그램 / csv
  • 응용 프로그램 / 엑셀
  • application / vnd.ms-excel
  • 응용 프로그램 /vnd.msexcel

또한 MIME 유형 대소 문자를 구분할 있습니다.


답변

그냥 그런 식으로 사용하십시오

Response.Clear();
Response.ContentType = "application/CSV";
Response.AddHeader("content-disposition", "attachment; filename=\"" + filename + ".csv\"");
Response.Write(t.ToString());
Response.End();


답변

ASP.net MVC에서 a FileContentResultFile메소드를 사용할 수 있습니다 .

public FileContentResult DownloadManifest() {
    byte[] csvData = getCsvData();
    return File(csvData, "text/csv", "filename.csv");
}