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 FileContentResult
및 File
메소드를 사용할 수 있습니다 .
public FileContentResult DownloadManifest() {
byte[] csvData = getCsvData();
return File(csvData, "text/csv", "filename.csv");
}