Vue前端表格导出Excel文件的图文教程
作者:Amazing_time 发布时间:2024-04-09 10:46:45
标签:表格,导出,前端
前言
分享一个Vue前端导出Excel文件的方法。记录学习!
功能需求:将表格的全部数据导出Excel格式的文件
前端:Vue3+Element-Plus
这个导出方法全部为前端操作,后端只需要传入表格数据到前端即可(基础的多表查询,用的内连接)
一、实现
1. 页面
2.代码
2.1 核心方法
/**
* 表格数据导出Excel实际方法
* @param list
*/
const exportList = (list) => {
//表格表头,导出表头
let tableHeader = [['#', '资产编号', '资产名称', '资产类别', '资产型号', "资产单价", "资产金额",
"生产厂家", "生产日期", "购买日期", "购买人", "状态", "库存数量"]]
list.forEach((item, index) => {
let rowData = []
//导出内容的字段
rowData = [
index + 1,
item.zcbh,
item.zcmc,
item.name,
item.zcxh,
item.zcdj,
item.zcje,
item.sccj,
currencyFormatDate(item.scrq),
currencyFormatDate(item.gmrq),
item.gmr,
item.sts,
item.kcsl,
]
tableHeader.push(rowData)
})
let wb = XLSX.utils.book_new()
let ws = XLSX.utils.aoa_to_sheet(tableHeader)
XLSX.utils.book_append_sheet(wb, ws, '资产设备基本信息') // 工作簿名称
XLSX.writeFile(wb, '资产设备基本信息.xlsx') // 保存的文件名
}
将这个导出方法单独封装出来,带一个参数,即需要导出的所有数据的List集合,那么在调用的时候传参即可使用。
tableHeader 定义表格的表头(此处并不是很严谨,因为还包含了表格的数据,暂时为空,后面遍历时传入)。
rowData 是表格具体数据内容的数组,遍历时传入。
tableHeader.push(rowData) 将内容放入tableHeader中,形成完整的表格数据。
let wb = XLSX.utils.book_new() 定义表格实例。
let ws = XLSX.utils.aoa_to_sheet(tableHeader) 创建工作簿,将表格内容放入工作簿。
2.2 调用方法
/**
* 表格数据导出Excel调用方法
*/
const exportExcel = () => {
ElMessageBox.confirm(
'确定导出资产设备基本信息表吗?',
'提示',
{
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}
)
.then(async () => {
let list = [];
const res = await request.get("asset/listAll");
console.log(res)
list = res.data.assetsAllList
exportList(list);
if (res.data.code === 200) {
ElMessage({
type: 'success',
message: '即刻开始下载',
})
}
})
.catch(() => {
})
}
await request.get(“asset/listAll”) 请求后端接口,拿到结果。将结果中的集合赋值给提前定义好的list数组list = res.data.assetsAllList。用了MessageBox消息弹框,根据自己的实际需求哈用到了异步等待,上面的request.get是自己封装的axios方法 3.演示
结束
来源:https://blog.csdn.net/m0_59420288/article/details/128796252


猜你喜欢
- 一。安装python1.到python官网下载安装包注意:班级同学们请到班级资料下载安装包,可以不用到网上下载。点击导航栏download-
- 阅读别人的python源码时碰到了这个yield这个关键字,各种搜索终于搞懂了,在此做一下总结:通常的for...in...循环中,in后面
- 前言MYSQL Command Line Client是一款用于输入密码的程序,相信大多数用户在使用这款程序的时候都有遇到这样的一种情况吧?
- Pytest使用的断言是使用python内置的断言assert。Python assert(断言)用于判断一个表达式,在表达式条件为 fal
- pytorch中的transforms模块中包含了很多种对图像数据进行变换的函数,这些都是在我们进行图像数据读入步骤中必不可少的,下面我们讲
- PDO::rollBackPDO::rollBack — 回滚一个事务(PHP 5 >= 5.1.0, PECL pdo >=
- 直接代码data_arr = []data = iter_files(dir,speakers)for k,v in data.items(
- 很多时候关心的是优化SELECT 查询,因为它们是最常用的查询,而且确定怎样优化它们并不总是直截了当。相对来说,将数据装入数据库是直截了当的
- 如果是感应触发.就选onmouseover如果是点击触发.就选onclick [把它们两互相替换,就可随时变为感应
- SAX是一种基于事件驱动的API。利用SAX解析XML文档牵涉到两个部分:解析器和事件处理器。解析器负责读取XML文档,并向事件处理器发送事
- 代码很简洁,功能很实用,这里就不多废话了,直接奉上:<?php/** * 获取客户端IP * @param&nbs
- 看了网站LOGO设计规范的思考的第一部分关于logo设计基础,现在接着来谈谈网络LOGO的设计。四、网络LOGO的设计 古代皇家的纹章,有条
- 在app挂载的div同级处写一个加载动画,例如:<body class="font-hei">
- 对于大的数据库,将数据装载到一个没有 FULLTEXT 索引的表中,然后再使用 ALTER TABLE (或 CRE
- 1.前期准备用户models.pyclass User(models.Model): username = mod
- 一、常见反爬机制及其破解方式封禁IP,使用cookie等前面文章已经讲过现在主要将下面的:~ 验证码 —> 文字验证码 —> O
- 大多数使用 WordPress 搭建的网站,其后台都是 MySQL 数据库,经常我们需要定制 WordPress 的功能,这里我们列表 10
- 1.列表Stepping这是一个 step 参数,可以通过采取几个步骤来分割你的列表。此外,你可以使用 step 参数来反转整数。看看下面的
- Python操作注册表步骤之1.打开注册表对注册表进行操作前,必须打开注册表。在Python中,可以使用以下两个函数:RegOpenKey和
- 本文作者系程序猿Daniel F Pupius,这是一篇他发表在Medium上的博文,讲述自己怎么在实际写代码的过程中,发现在效率和质量间做