WebAPI를 통해 Excel 파일을 다운로드하려고합니다. 기본적으로 Excel 파일은 메모리 스트림을 통해 생성됩니다. PostWebAPI/MVC가 포함 된 Excel 파일 다운로드
Excel 콘텐츠가 잘 생성되지만 크롬 네트워크 도구의 응답 탭에서 응답 자체가 순수 XML이므로 Excel을 다운로드 할 수 없습니다. 다음은 C# 코드입니다.
var sheet = linq.ExportToExcel (userAddedList);
var stream = new MemoryStream();
var sw = new StreamWriter(stream);
sw.Write(sheet);
sw.Flush();
var result = new HttpResponseMessage(HttpStatusCode.OK) { Content = new ByteArrayContent(stream.GetBuffer()) };
result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") { FileName = "Report.xml" };
result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/ms-excel");
var response = ResponseMessage(result);
return response;
그리고 저는 이것을 Angular라고 부릅니다.
var httpRequest = commonFunctions.getRequestObject ("GET", requestURL, {}, null);
$http(httpRequest).then(function (response) {
vm.isProcessing = false;
}, function (error) { displayError(error); });
당신은 XML 확장을 지정하고, 다음 설정 :
당신은이 같은 코드의 일부로 사용합니다 콘텐츠 형식을 Excel의 BIFF 버전에 적용합니다. 결과로 정확히 무엇을 기대합니까? http://stackoverflow.com/a/4212908/534109 –
@ TiesonT에서 살펴볼 것입니다. 언급 한 것처럼 나는 방금 게시물의 예를 따랐습니다. 어쨌든, 당신이 제안한대로 xls 및 MIME 형식을 application/vnd.ms-excel로 변경했습니다. AJAX 요청이 없으면 제대로 작동하지만 AJAX와 작동시키는 법을 알고 싶습니다. – programmerboy