"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Ajax를 사용하여 MVC 양식에 의해 생성 된 Excel 파일 다운로드 방법

Ajax를 사용하여 MVC 양식에 의해 생성 된 Excel 파일 다운로드 방법

2025-04-19에 게시되었습니다
검색:467

How to Download an Excel File Generated from an MVC Form using AJAX?

mvc에서 ajax를 통해 Excel 파일을 다운로드

]

MVC에서 큰 형식을 처리 할 때 나머지 부분에 영향을 미치지 않고 양식의 특정 하위 집합에 대한 데이터가 포함 된 Excel 파일을 생성해야 할 수도 있습니다. Ajax는 서버에 부분 요청을 할 수 있도록하여 솔루션을 제공합니다.

Excel 파일을 직접 다운로드 할 수 없습니다

불행히도 Ajax를 통해 직접 다운로드하려는 파일을 반환 할 수 없습니다. 대신 AJAX를 사용하여 관련 데이터를 서버에 게시하는 대체 방법을 탐색하십시오.

서버 측 파일 생성 및 응답

]]]]

서버에서 서버 측 코드를 사용하여 Excel 파일을 생성 할 수 있습니다. 이를 위해 Epplus 또는 NPOI와 같은 라이브러리를 사용하는 것을 고려하십시오. 그런 다음 생성 된 파일의 경로 또는 파일 이름을 반환 값으로 AJAX 호출로 전달할 수 있습니다.

다운로드로 리디렉션

]

클라이언트의 javaScript에서 window.location = '/reports/download? file ='returnValue 를 사용하여 JavaScript 창 위치를 파일의 URL로 설정하여 브라우저가 다운로드하도록하려면.

원활한 사용자 경험

]

이 접근법은 파일 다운로드 작업이 소스 페이지를 남기지 않기 때문에 원활한 사용자 경험을 제공합니다.

ajax 호출 예

]

다음은 이것을 달성하는 ajax 호출의 예입니다.

$.ajax({
    type: 'POST',
    url: '/Reports/ExportMyData',
    data: '{ "dataprop1": "test", "dataprop2" : "test2" }',
    contentType: 'application/json; charset=utf-8',
    dataType: 'json',
    success: function (returnValue) {
        window.location = '/Reports/Download?file='   returnValue;
    }
});

파일 다운로드를위한 컨트롤러 메소드

다운로드 작업을위한 해당 컨트롤러 방법은 다음과 같습니다.

[HttpGet]
public virtual ActionResult Download(string file)
{
  string fullPath = Path.Combine(Server.MapPath("~/MyFiles"), file);
  return File(fullPath, "application/vnd.ms-excel", file);
}
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3