这是我的服务代码,它通过响应xls文件发出post请求:
exportInternalOrder(body) {
let user_token: string = this.sessionService.getToken();
let headers = new Headers();
headers.append('responseType', 'arraybuffer');
headers.append('Authorization', 'Bearer ' + user_token);
return this.http.post(this.config.exportInternalOrder, body,{
headers: headers
}).map(res => new Blob([res._body],{ type: 'application/vnd.ms-excel' }));
}
Run Code Online (Sandbox Code Playgroud)
应该处理excel文件的响应.这是调用它的代码:
let objToSend = this.makeObjToSend(false);
this.reportingService.exportExcel(objToSend)
.subscribe(
data => {
this.exportData(data);
},
error => {
this.errorFilterMsg.push({ severity: 'error', detail: 'Report exporting has failed!' });
}
);
Run Code Online (Sandbox Code Playgroud)
这是文件的保存(由于某种原因,window.open什么都不做):
exportData(data){
let blob = data;
let a = document.createElement("a");
a.href = URL.createObjectURL(blob);
a.download = 'fileName.xls';
document.body.appendChild(a);
a.click();
}
Run Code Online (Sandbox Code Playgroud)
但该文件仍然保存为损坏的文件.使用邮差和卷曲时,它就可以了.任何帮助,将不胜感激.
在我的$ scope中,我的tobing = 2.00或tobind = 2.20,我将其绑定到
<span >{{datasource.tobind}}</span>
Run Code Online (Sandbox Code Playgroud)
我希望绑定的显示文本的最后两位总是“ 2.00”或“ 2.20”,但角度似乎是自动舍入。一种解决方法是将其设置为文本并将其绑定为字符串,但是在逻辑上会导致很多地方将其强制转换为数字,然后转换为字符串,这使兔子哭了起来。请提出如何解决自动舍入的建议。