공용 함수 getSpreadsheet () {$items = 항목: all (); Excel:: 만들기 (` 항목 `, 함수 $excel $items) {$excel > 시트 ($sheet)를 사용 하 여 $items > fromarray ($sheet)}).}). -> 수출 (xls); } 나는 더 나은 사용자 경험을 제공 하기 위해 OnSuccess 및 Onsuccess 콜백을 완료 파일 다운로드와 „아 약 스 같은” 경험을 허용 jQuery 파일 다운로드를 만들었습니다. 플러그인이 해결 하는 일반적인 문제와 작업에서 jQuery 파일 다운로드의 데모를 사용 하는 방법에 대 한 내 블로그 게시물을 살펴 보십시오. 여기에 ` 클래스 ` 엑셀 ` 찾을 수 없습니다 ` 오류가 발생 하는 소스입니다. u는 제발 도와 주세요? 또는 파일 데이터가 데이터베이스에 저장 되 고 Excel 파일과 같은 파일을 다운로드 해야하는 시나리오가 있습니다. 다음 코드는 도움이 될 수 있습니다. 지원 해야 하는 브라우저에 따라 https://github.com/eligrey/FileSaver.js/를 사용할 수 있습니다. IFRAME 메서드 jQuery 파일 다운로드를 사용 하는 것 보다 더 명시적으로 제어 합니다. JQuery 파일 다운로드를 사용 하려면 IE에 주의 하십시오. 당신은 응답을 재설정 해야 하거나 우리가 단순히 Excel 스프레드시트로 페이지의 현재 보기를 다운로드 해야하는 경우가 있습니다 다운로드 하지 않습니다. 여기에서는 다음과 같이 코드를 사용할 수 있습니다. 다음 post 요청의 성공 콜백에서, 우리는 윈도우를 설정 하 여 다른 ajax 호출을 만들 것입니다. 아래와 같이 위치를 다운로드 MVC 작업 메서드를 다음과 같이 합니다.

„JSON 데이터를 서버에 게시 하 고 excel 파일을 받습니다. 해당 excel 파일은 서버에 의해 만들어지고 클라이언트에 대 한 응답으로 반환 됩니다. 브라우저에서 사용자 지정 이름을 가진 파일로 해당 응답 다운로드 „다음 코드를 사용 하 여 즉석에서 Excel 파일을 생성할 수 있습니다 (확산 시트 라이트 nuget 패키지와 함께). 따라서 다운로드는 창을 설정 하는 것 만으로 발생 합니다. MVC의 url에 위치 작업을 다운로드 합니다. ASP.NET MVC에서 Ajax 호출을 사용 하면 파일을 제외한 JSON 개체를 반환할 수 있습니다. 이렇게 하려면 서버에 파일을 만들고 저장 한 후 Ajax로 해당 경로를 반환 해야 합니다. 이 솔루션은 기존 Excel 서식 파일 (헤더가 있는 빈 통합 문서)이 있고 코드를 사용 하 여 즐기기 템플릿의 인스턴스를 만든 다음 데이터베이스 리포지토리 또는 웹 서비스 리포지토리를 사용 하 여 데이터를 채운 다음 채워진 XLSX로 통합 문서: 우리 중 일부는 ajax 요청에서 파일을 제공 하려고 하는 것을 보았다. 몇 가지 연구 후, 나는 그것을 할 수 있는 명확한 해결책을 발견 하지 못했다. 일부를 조정 하면 Ajax 요청에서 csv 및 xls 데이터를 성공적으로 내보냈습니다. 문제는 filetype이 인코딩 때문에 xls 인 경우 조작이 다른 것 이므로 약간의 비틀기가 있습니다. 또한 확산 시트 라이트 Nuget 패키지를 사용 하면 데이터베이스 또는 웹 서비스에서 검색 된 데이터로 즉석에서 Excel 파일을 만들 수 있습니다.

그러나 HTTP에서 우리는 위의 예에서와 같이 간단한 데이터를 전송 하는 경우에는 괜찮습니다 (MVC 작업 방법 다운로드), 이미지 이름. 그것은 당신이 Ajax 호출을 통해 그것을 할 수 없는 것이 확실 하다. 아래 데모 코드는 Excel 파일을 생성 하 고 다운로드 하는 데 사용 됩니다. 푸른 빛이 완전히이에 대해, 자바 스크립트는 사용자의 컴퓨터에 직접 파일을 저장할 수 없기 때문에 당신은 Ajax를 통해 그것을 할 수 없습니다 (보안 문제). 불행히도 파일 다운로드 시 주 창의 URL을 가리키면 파일 다운로드가 발생할 때의 사용자 경험을 거의 제어할 수 없습니다. 자바 스크립트 코드, 호출 코드는 먼저 @URL를 호출 AJAX POST 메소드를 호출 하는 버튼의 클릭을 말한다. 보고서를 생성 한 다음이 ajax 메서드의 성공 콜백에서 해당 창을 설정 합니다. 파일 결과를 반환 하는 두 번째 URL에 위치: @Url.

실제로는 두 번째 MVC 작업 방법으로,이를 통해 FileResult를 반환 하 여 Excel 파일을 다운로드 합니다. 파일을 바이트 배열로 얻은 경우 다음을 사용 합니다. 새 FileContentResult (바이트 배열, „이미지/jpeg”)를 반환 합니다. 여기서 우리는 서버 측에 몇 가지를 신중 하 게 설정 해야 합니다.