当前位置: 首页 > wzjs >正文

拖拽做网站临沂做商城网站

拖拽做网站,临沂做商城网站,建设网站的重要性,学设计的素材网站💡 本文以告警信息导出为例,介绍 Vue 3 中如何通过 Axios 调用后端接口并处理文件流,实现 Excel 自动下载功能。 📑 目录 一、前言 二、后端接口说明 三、前端实现思路 四、导出功能完整代码 五、常见问题处理 六、效果展示 …

💡 本文以告警信息导出为例,介绍 Vue 3 中如何通过 Axios 调用后端接口并处理文件流,实现 Excel 自动下载功能。


📑 目录

  • 一、前言

  • 二、后端接口说明

  • 三、前端实现思路

  • 四、导出功能完整代码

  • 五、常见问题处理

  • 六、效果展示

  • 七、总结


一、前言

在数据后台管理系统中,Excel 导出功能是一个非常常见的需求。本文将介绍如何在 Vue 3 项目中,通过后端返回的 文件流(Blob) 实现 Excel 自动下载功能,解决文件类型识别、命名、Blob 转换等常见问题。


二、后端接口说明

  • 请求地址/operation/alarm/dealExport

  • 请求方式:GET

  • 请求参数:支持条件筛选(如告警 ID、时间等)

  • 响应格式Content-Type: application/vnd.ms-excel

  • 返回内容.xlsx 文件二进制流(Blob)


三、前端实现思路

  1. 请求接口时通过 responseType: 'blob' 获取流数据。

  2. 接收到的 Blob 数据创建 URL 链接。

  3. 使用 <a> 标签触发下载,设置 download 为导出文件名。

  4. 下载完成后销毁链接释放资源。


四、导出功能完整代码

1️⃣ 接口封装(api/alarm.js

// 告警信息导出接口
export const alarmExport = (params) => {return request({url: '/operation/alarm/dealExport',method: 'get',params,responseType: 'blob', // 关键点!});
};

2️⃣ Vue 组件中的导出方法(使用 Composition API)

import { ref } from 'vue';
import { ElMessage } from 'element-plus';
import { alarmExport } from '@/api/alarm';const selectedList = ref([]); // 已选择的数据项
const queryParamsAlarm = ref({// 示例参数,可根据实际业务填写alarmType: '',startTime: '',endTime: '',pageNum: 1,pageSize: 10,
});/** 导出 */
const handleExport = async () => {const params = { alarmIds: '', ...queryParamsAlarm.value };delete params.pageNum;delete params.pageSize;// 提取选择项的 alarmId 列表if (selectedList.value.length > 0) {const ids = selectedList.value.map((item) => item.alarmId);params.alarmIds = ids.join(',');}try {const res = await alarmExport(params);// 构造 Blob 下载const blob = new Blob([res], { type: 'application/vnd.ms-excel' });const url = window.URL.createObjectURL(blob);const link = document.createElement('a');link.href = url;link.download = `告警导出_${new Date().toLocaleDateString()}.xlsx`;document.body.appendChild(link);link.click();document.body.removeChild(link);window.URL.revokeObjectURL(url); // 释放内存ElMessage.success('导出成功');} catch (error) {console.error('导出失败', error);ElMessage.error('导出失败,请重试');}
};


五、常见问题处理

问题解决方案
导出的文件是乱码检查 Blob 类型是否为 application/vnd.ms-excel
下载没反应确保使用了 responseType: 'blob'a.download 设置了文件名
文件扩展名错误link.download = xxx.xlsx 明确设置扩展名
无法创建链接检查是否正确调用 URL.createObjectURL(blob)


六、效果展示

  • ✅ 可筛选导出

  • ✅ 可选择部分导出

  • ✅ 支持文件命名

  • ✅ 下载完成即销毁资源


七、总结

本文通过 Vue 3 + Axios + Element Plus 实现了一个实用的 Excel 导出功能,核心关键点包括:

  • 使用 responseType: 'blob' 正确获取文件流

  • Blob + URL + a 标签实现下载

  • 设置 Content-Typedownload 属性确保兼容性

希望本文能帮你快速实现导出功能,如有疑问欢迎评论交流!


📌 收藏 + 点赞 + 关注,持续更新更多前端实战技巧!


文章转载自:

http://hW9rZcO8.gjmbk.cn
http://CKmgUhBJ.gjmbk.cn
http://fa3QpLOA.gjmbk.cn
http://Wqb1DD69.gjmbk.cn
http://tfMM1GA0.gjmbk.cn
http://kkk6yuSb.gjmbk.cn
http://6pcLcMyP.gjmbk.cn
http://XYylrae8.gjmbk.cn
http://xbG4XQ2X.gjmbk.cn
http://dbbEANMg.gjmbk.cn
http://MyoQxfGH.gjmbk.cn
http://BGftsUGk.gjmbk.cn
http://QuCANcx7.gjmbk.cn
http://VmqYVVx1.gjmbk.cn
http://h5GaNIJj.gjmbk.cn
http://Ozioeej5.gjmbk.cn
http://eMCbt5qM.gjmbk.cn
http://0l87oL0D.gjmbk.cn
http://WQ4jdvqS.gjmbk.cn
http://EGS0mNcS.gjmbk.cn
http://9XapfgsF.gjmbk.cn
http://M69trRFJ.gjmbk.cn
http://8rXBVSCi.gjmbk.cn
http://VfWfnnvr.gjmbk.cn
http://ySVSFmO3.gjmbk.cn
http://SVJKvU2U.gjmbk.cn
http://xJHHxAwt.gjmbk.cn
http://iMl7DOBd.gjmbk.cn
http://LKrMCm1R.gjmbk.cn
http://UmfOgRGi.gjmbk.cn
http://www.dtcms.com/wzjs/625604.html

相关文章:

  • 网站开发要怎么看一个网站好坏
  • 河南建筑公司网站免费游戏代理平台有哪些
  • 湖北城乡住房建设厅网站怎查证件莞城最新通告
  • 营销型网站建设ppt模板下载网站建设与运营 教材 崔
  • 套别人代码做网站原画外包网
  • 网站建设找嘉艺网络创建网站要钱吗
  • 做网站需要买空间么 服务器建设银行住房公积网站
  • 网站慢用台服务器做跳板网站设计套用模板
  • 特产网站设计物联网平台开源
  • 宁波做亚马逊网站华为云服务器怎么建设网站
  • 网站建设经销商seo 工具推荐
  • 江阴网站优化wordpress 缓存 自适应
  • 地方性购物网站o2o电子商务模式是指
  • 定制网站开发公司生物医药微信小商店官网入口
  • 北京建设信息咨询中心网站怎么样给公司做网站
  • 淄博网站制作高端服务建立网站看病的经济问题
  • 有关做能源的网站淄博网站建设电话咨询
  • 网站建设公司网站源码云捷配快速开发平台
  • iis默认网站建设中wordpress怎样显示子类目
  • 做租号玩网站赚钱吗医院网站如何建立
  • 石家庄seo优化公司自助建站网站seo公司
  • 百度云网站建设教程页面 菜单 wordpress
  • 电子商务网站建设分析医疗器械分类目录2021
  • 英文网站优化页面设计描述
  • 网站开发报价表格做的好的c2c网站
  • 高端网站建设网站做logo有哪些网站
  • 建设通网站查询单位郑州郑好办app
  • 企业为什么网站建设环江建设网站
  • 兰州建设厅评职称网站常见的网络营销方法及其效果
  • 中间商可以做网站吗soho设计网站