使用Web API和AngularJS下载Excel文件可以通过以下步骤实现:
下面是一个示例代码:
Web API接口(C#):
[HttpGet]
public HttpResponseMessage DownloadExcelFile()
{
// 生成Excel文件
var excelData = GenerateExcelData();
// 将Excel数据流作为响应返回
HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK);
response.Content = new ByteArrayContent(excelData);
response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment");
response.Content.Headers.ContentDisposition.FileName = "filename.xlsx";
return response;
}
AngularJS代码:
$scope.downloadExcelFile = function() {
$http.get('/api/downloadExcelFile', { responseType: 'arraybuffer' })
.then(function(response) {
var blob = new Blob([response.data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
var url = URL.createObjectURL(blob);
var a = document.createElement('a');
a.href = url;
a.download = 'filename.xlsx';
a.style.display = 'none';
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
});
};
这样,当用户点击下载按钮时,将会触发$scope.downloadExcelFile()
函数,从Web API接口下载并保存Excel文件。请注意,这只是一个简单的示例,你可以根据实际需求进行修改和扩展。
领取专属 10元无门槛券
手把手带您无忧上云