0
角JS代码下载Excel文件:如何采用了棱角分明的js和REST API
$scope.getExcelDownload = function(index,basketid,brokerid,tradeDate,serverid,transid) {
var myformid = 'ExcelForm' + index;
ExcelDownload.get({brokerid : brokerid,basketName : basketid,appl : 'abc',param : 'excel',tradedate:tradeDate,transactionID:transid,serverid:serverid},function(data, headers){
alert("Success");
var response = {};
response.data = data;
response.headers = headers();
var blob = new Blob([response.data], {type: "application/octet-stream;base64"});
var objectUrl = URL.createObjectURL(blob);
window.open(objectUrl);
saveAs(blob, "myfile.xls");
},function(errResponse) {
alert("failure");
});
}
REST WEBSERVICE:
@RequestMapping(value = "/getexcel/{brokerid}/{basketName}/{appl}/{param}/{tradedate}/{transactionID}/{serverid}", produces = { MediaType.APPLICATION_OCTET_STREAM_VALUE }, method = RequestMethod.GET)
public @ResponseBody ResponseEntity<byte[]> getFile(@PathVariable("brokerid") String brokerid,@PathVariable("basketName") String basketName,@PathVariable("appl") String appl,@PathVariable("param") String param,@PathVariable("tradedate") String tradedate,@PathVariable("transactionID") String transactionID,@PathVariable("serverid") String serverid){
ResponseEntity respEntity = null;
OrdersDownload orders = new OrdersDownload();
if(param.equalsIgnoreCase(EXCEL_OPTION)){
log.finest("[email protected] selected option :" + param);
byte[] reportBytes = orderDownloadService.doGet(brokerid, basketName, appl, param, tradedate, transactionID, serverid);
HttpHeaders responseHeaders = new HttpHeaders();
responseHeaders.add("Content-Disposition", String.valueOf(String
.valueOf((new StringBuffer("attachment; filename=\""))
.append(
StringUtils
.replace(basketName, ":", ""))
.append("_orders.xls\""))));
responseHeaders.add("Content-Type",MediaType.APPLICATION_OCTET_STREAM_VALUE);
//return reportBytes;
respEntity = new ResponseEntity<byte[]>(reportBytes, responseHeaders,HttpStatus.OK);
return respEntity;
}
return null;
}
响应: 文件是越来越下载不contnet它只是在文件内部打印[object,object]
。
你在你的回应有什么样的数据? – jinal
我发送Excel文件的路径作为回应,我必须下载。我已经更新我的答案与后端发送数据作为回应 –
嗨,作为回复休息api我越来越follwoing数据ÐÏࡱ±;þÿ\tþÿÿÿ条目 工作簿è\tÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ这是不可读 – jinal