JExcelApi lib를 사용하여 Excel 형식으로 데이터를 내보내는 샘플 프로젝트를 만들었습니다. 프로젝트의 앵귤러 2 프런트 엔드와 스프링 mvc (나머지 API) 백엔드가 있습니다. 내가 바람둥이에 백엔드를 배포하고 브라우저를 통해 요청을하면 파일을 올바르게 엑셀로 내보낼 수 있습니다.하지만 각도 2 (타이프 스크립트)를 사용하여 동일한 http 전화를 걸면 엑셀 파일에 내 API의 URL을 쓰고 파일이 손상됨을 보여줍니다 .Angular 2 Excel 내보내기가 작동하지 않습니다.
프로젝트는 GitHub의 위치 다음에 있습니다
누군가가 내 서비스 또는 app.component.ts 파일에 어떤 문제가 있는지 말해 주시겠습니까? 여기
내가 문제downloadExcel(){
console.log("Downloading excel from server....")
this.fileService.downloadFile()
.subscribe(data => window.open(window.URL.createObjectURL(data)),
error => console.log("Error downloading the file."),
() => console.log('Completed file download.'));
}
여기에 데이터를 반환하는 서비스 클래스를 일으키는 생각 app.component.ts의 코드베이스이다
downloadFile(){
let url = "http://localhost:9999/api/download";
var headers = new Headers();
headers.append('responseType', 'arraybuffer');
return this._http.get(url)
.map(res => new Blob([res],{ type: 'application/vnd.ms-excel' }))
.catch((error : any) => Observable.throw(error));
}
누구도 전체 저장소를 통해 버그를 조사하지 않습니다. 구체적인 문제가 무엇인지, 정확히 ** 문제가있는 곳을 찾아 내야 ** 할 수 있습니다 ** –
죄송합니다. 원래 의견에 문제가 있다고 생각되는 코드 스 니펫을 업데이트했습니다. 나도 responsType Blob을 시도했지만 여전히 운이 없다. – user509755