后端代码
cs
[HttpGet("DownloadExcel")]
public async Task<dynamic> DownloadExcel(string tmplName)
{
var _fileName = "导入表模板.xlsx";
var filePath = @"Files\DownLoad\";
var NewFile = Path.Combine(filePath, tmplName);
var stream = new FileStream(NewFile, FileMode.Open);
return new FileStreamResult(stream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
}
前端代码 vue 2.0
javascript
// 下载导入表模板
downloadExcel() {
Axios.get('/api/Excel/DownloadExcel', {
params: {
tmplName: 'Excel'
},
responseType: 'blob',
})
.then(res => {
const link = document.createElement('a')
// const blob = new Blob([res.data], { type: 'application/vnd.ms-excel' })
const blob = new Blob([res.data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' })
link.style.display = 'none'
link.href = URL.createObjectURL(blob)
link.download = 'xxx入表模板.xlsx'
document.body.appendChild(link)
link.click()
document.body.removeChild(link)
})
.catch(error => {
console.log(error)
})
},
注意: 发布的WebAPI项目中有模板文件和文件夹