Vue3下载WEBAPI导出的Excel文件

webApi查询数据保存为Excel 

       /// <summary>
       /// 获取LMI3D相机涂胶测量数据
       /// </summary>
       /// <returns></returns>
       [HttpPost(Name = "GetLMI3DGlueDataToExcel")]
       public async Task<IActionResult> GetLMI3DGlueDataToExcel(QueryGlueMeasurementModel qgmm)
       {
           List<GlueMeasurementModel> result = new List<GlueMeasurementModel>();
           result = await LinkAsiaDB.Camera3D.GetGlueMeasurement( qgmm.CreatedDate);

           int x = await NPOIExcelHelper.RenderToExcel(result, "defult", "D:\\Test.xlsx");

           string fileExt = Path.GetExtension("D:\\Test.xlsx");
           //获取文件的ContentType
           var provider = new FileExtensionContentTypeProvider();
           var memi = provider.Mappings[fileExt];
           var fileBytes = System.IO.File.ReadAllBytes("D:\\Test.xlsx");
           return File(fileBytes, memi, "welcome.xlsx");
       }

swagger中可以下载 

 

Vue页面 

			<el-row>
				<el-date-picker v-model="QueryDate" type="date" placeholder="Pick a day" :size="size" />

				<el-button type="primary" @click="QueryFoamMeasurement()">
					查询
				</el-button>
				<el-button type="primary" @click="ToExcel()">
					导出excel
				</el-button>
				<a :href="DownloadUrl" download="welcom.xlsx">abc</a>
			</el-row>

导出方法 

const ToExcel = async () => {

	let CreatedDate = dateFormat(QueryDate.value, 'YYYY-MM-DD')
  
	let pa = { No: "", Barcode: "", CreatedDate: CreatedDate }
	await axios.post(global_const.WEBAPI + `LMI3DData/GetLMI3DGlueDataToExcel`, pa, { responseType: 'blob' })
		.then(function (response) { 
			console.log(response); 
			DownloadUrl.value = window.URL.createObjectURL(new Blob([response.data]));
	 
			return response.data;
		})
		.catch(function (error) {
			//ElMessage.error(cmd + '命令执行异常!' + error)
			console.log(error);
		});

		download(DownloadUrl.value )
}

const download = (url :any) => {
  // 处理图片下载
 
  let a = document.createElement("a");
    a.setAttribute("href", url);
    a.setAttribute("download",'');
    a.setAttribute("target", "_blank");
	a.download = "welcome1.xlsx"
	a.click(); 
} 

相关推荐

  1. ajax 下载文件excel导出

    2024-01-31 18:30:06       41 阅读
  2. Vue3 将el-table中数据导出excel下载

    2024-01-31 18:30:06       40 阅读
  3. Vue3 Element-plust表格导出excel文件

    2024-01-31 18:30:06       33 阅读
  4. vue3导入文件夹导入文件导出zip、导出

    2024-01-31 18:30:06       34 阅读
  5. koa2+vue3通过exceljs实现数据导出excel文档

    2024-01-31 18:30:06       21 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-31 18:30:06       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-31 18:30:06       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-31 18:30:06       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-31 18:30:06       20 阅读

热门阅读

  1. 设计模式——单例模式

    2024-01-31 18:30:06       42 阅读
  2. 部署mongodb服务

    2024-01-31 18:30:06       32 阅读
  3. GD32F30x SPI转CAN 从机实现

    2024-01-31 18:30:06       39 阅读
  4. [Android] SDK->NuPlayer

    2024-01-31 18:30:06       27 阅读
  5. uniapp如何引入uview组件?

    2024-01-31 18:30:06       40 阅读
  6. unity - 保存camera组件图像

    2024-01-31 18:30:06       25 阅读
  7. 并查集+01背包:1252. 搭配购买

    2024-01-31 18:30:06       31 阅读
  8. 搜索<1>——DFS与回溯

    2024-01-31 18:30:06       36 阅读