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

Vue3前端xlsx导出

Vue3前端xlsx导出

  • 全局注册
      • 1. `在main.ts内引入`
      • 2.`在index.html内加入`
  • 页面使用
      • 1. 在 `template` 页面写入按钮导出方法
      • 2. 在 `script` 内写入导出方法

全局注册

1. 在main.ts内引入

import * as XLSX from 'xlsx'
// 如果需要设置样式,则引入xlsx-style
import XLSXStyle from 'xlsx-style'if (typeof window !== 'undefined') {window.QUOTE = '"'
}

2.在index.html内加入

<script src="https://unpkg.com/xlsx/dist/xlsx.full.min.js"></script>

页面使用

1. 在 template 页面写入按钮导出方法

<template><el-button type="success" plain @click="handleExport" v-hasPermi="['report:cost:export']"><Icon icon="ep:download" class="mr-5px" /> 导出</el-button>// 表格<el-table ref="exportOnlyTableRef" :data="onlyList" height="640" style="margin: 10px"><el-table-column label="项目" align="center" :width="150"><template #default="scope">{{ scope.row[0] }}</template></el-table-column><!-- 动态生成年份和月份列 --><el-table-column:label="onlyMonthList.regionName"align="center"class="year-column-margin"><el-table-columnv-for="(storeItem, storeIndex) in onlyMonthList.costDataResList":key="storeIndex":label="storeItem.month"align="center"><template #default="scope">{{ scope.row[1 + storeIndex] }}</template></el-table-column></el-table-column></el-table>
</template>

2. 在 script 内写入导出方法

<script lang="ts" setup>
import * as XLSX from 'xlsx'
/** 导出按钮操作 */
const handleExport = async () => {if (costList.value.length > 0) {const tableDom = exportOnlyTableRef.value?.$el // 与 el-table 里面的 ref 属性匹配if (!tableDom) {return}const wb = XLSX.utils.table_to_book(tableDom)XLSX.writeFile(wb, `费用_${new Date().getTime()}.xls`)} else {return message.error(t('暂无数据无法导出!'))}
}
</script>
http://www.xdnf.cn/news/519247.html

相关文章:

  • 微服务项目->在线oj系统(Java版 - 3)
  • 王树森推荐系统公开课 排序02:Multi-gate Mixture-of-Experts (MMoE)
  • 【AI面试秘籍】| 第15期:大模型如何稳定输出合法JSON?
  • 【Linux笔记】——线程同步条件变量与生产者消费者模型的实现
  • GEE谷歌地球引擎批量下载逐日ERA5气象数据的方法
  • 等于和绝对等于的区别
  • LeetCode 394. 字符串解码详解:Java栈实现与逐行解析
  • 第5章 监控与回归测试:日志收集 · 代码覆盖率 · 静态分析 · 质量门
  • Python爬虫实战:通过PyExecJS库实现逆向解密
  • 院士方复全数学命题证明采用预期理由和循环论证以及类比的错误方法
  • web页面布局基础
  • 【动态规划】路径问题
  • STM32八股【9】-----volatile关键字
  • vim - v
  • Python数据可视化 - Pyecharts绘图示例
  • 中级统计师-统计学基础知识-第三章 参数估计
  • 【Linux】命令行参数和环境变量
  • 【PyQt5实战】五大对话框控件详解:从文件选择到消息弹窗
  • 【typenum】 11 私有模块(private.rs)
  • 【Redis实战篇】Redis消息队列
  • 10.9 LangChain LCEL革命:43%性能提升+声明式语法,AI开发效率飙升实战指南
  • 深入理解递归算法:Go语言实现指南
  • C44-练习
  • 全基因组关联研究揭示了脑淋巴活动的机制
  • Rstudio换皮:自定义彩虹括号与缩进线
  • Python Requests库完全指南:从入门到精通
  • 《C语言中的传值调用与传址调用》
  • 多头自注意力机制—Transformer模型的并行特征捕获引擎
  • 如何畅通需求收集渠道,获取用户反馈?
  • c++多线程debug