Понедельник, 21 октября 2019

ajax 엑셀 다운로드 예제

28

이 솔루션은 기존 Excel Template (헤더가있는 빈 통합 문서)가있고 코드를 사용하여 thie 템플릿의 인스턴스를 만든 다음 데이터베이스 리포지토리 또는 웹 서비스 리포지토리를 사용하여 데이터를 채운 다음 채워진 문서를 다운로드할 때 작동합니다. XLSX로 통합 문서: 태그: 엑셀, 내보내기, html5, 자바 스크립트, 가져오기, 스프레드, 스프레드 시트, SpreadJS, 스프레드 시트, 스프레드 시트.시트 공개 함수 getSpreadsheet () { $items = 항목::all(); Excel:create (`항목`, 함수($excel) use($items) { $excel->시트(`ExportFile`, 함수($sheet) use($items) { $sheet->fromArray($items); }) ->내보내기(`xls`); } 또는 파일 데이터가 데이터베이스에 저장되고 우리는 엑셀 파일과 동일한 다운로드해야 시나리오가있다, 다음 코드가 도움이 될 수 있습니다 : 아래 데모 코드는 엑셀 파일을 만들고 다운로드하기위한 것입니다 : 또한 스프레드 시트라이트 Nuget 패키지가 있습니다 즉, 데이터베이스 또는 웹 서비스에서 검색 된 데이터로 즉시 Excel 파일을 만들 수 있습니다. 자바 스크립트 코드, 호출 코드 (버튼 클릭 말) 먼저 호출 AJAX POST 메서드 호출 @URL. 작업 («홈 / 생성 엑셀 보고서») 다음이 ajax 방법의 성공 콜백에서, 우리는 파일 결과를 반환 하는 두 번째 URL에 window.location설정 : @Url.Action («홈/다운로드 엑셀 보고서») 따라서 다운로드는 단지 설정으로 일어날 수 있습니다 창.location을 사용하여 MVC 다운로드 작업의 URL로 이동합니다. MVC에서 ajax 호출을 사용할 ASP.NET JSON 개체만 반환할 수 있지만 파일은 반환할 수 없습니다. 이렇게 하려면 파일을 만들고 서버에 저장하고 경로를 Ajax로 반환해야 합니다. 마지막으로 단추를 추가하여 파일을 내보낼 수 있습니다. 이를 위해 Spread.Sheets에 내장된 클라이언트 측 ExcelIO 코드를 사용할 수 있습니다. 여기서 우리는 다음과 같이 코드를 사용할 수 있습니다 : 다음 게시물 요청의 성공 콜백에서, 우리는 아래와 같이 다운로드 MVC 작업 방법에 window.location을 설정하여 또 다른 ajax 호출을 만들 것입니다 : 당신은 엑셀 파일을 가져 와서 내보낼 수 있습니다, 사용자에게 제공 인터페이스는 그 파일과 상호 작용 — 모든 순수한 자바 스크립트에서. 이 자습서에서는 SpreadJS 구성 요소를 HTML 페이지에 추가하고 Excel 파일을 가져오는 것이 얼마나 쉬운지 보여 드리겠습니다. 그러나 이것은 괜찮습니다, HTTP GET에서 우리는 위의 예에서와 같이 간단한 데이터를 보내는 경우 (MVC 작업 방법 «다운로드»), 이미지 이름.

실제로 파일을 여는 데 사용할 수 있는 클라이언트 측 ExcelIO 구성 요소의 인스턴스를 만들어야 합니다. 이것은 스프레드JS 자바 스크립트 스프레드 시트를 사용하여 Excel 파일에 데이터를 추가 한 다음 간단한 자바 스크립트 코드로 Excel로 다시 내보내는 방법의 한 예입니다. 해당 코드를 추가하면 웹 브라우저에서 페이지를 열고 수익 행이 추가된 Spread.Sheets에 Excel 파일 로드를 볼 수 있습니다. 중요: Chrome에서는 보안을 위해 로컬 파일을 열 수 없으므로 Firefox와 같은 웹 브라우저를 사용하여 이 코드를 성공적으로 실행해야 합니다. 또는 웹 사이트 URL에서 파일을 로드하는 경우 모든 브라우저에서 잘 열립니다. 다음 코드를 사용하여 즉시 Excel 파일을 생성 할 수 있습니다 : 실제로 Excel 파일을 다운로드하는 두 번째 MVC 작업 방법 (FileResult반환): 파일이 성공적으로 내보내지면 열 수 있습니다. Excel에서 파일이 가져온 것처럼 보이는지 확인합니다. 스프레드JS의 스프레드 시트 구성을 시도스프레드JS다운로드지금의 최신 버전을 다운로드! 나는 우리 중 일부는 ajax 요청에서 파일을 제공하려고하는 것을 보았다.

몇 가지 연구 후, 나는 그것을 할 수있는 명확한 해결책을 찾지 못했습니다.