vue3—使用element-plus表格导出excel表格(带图片)

简介: 今天制作后台管理系统,有一个二维码管理页面,要求把表格内的数据全部导出为Excel表格。表格内有二维码图片,也要导出,制作的第一版是直接将图片的链接导出,但是要求导出能直接看的图片,所以就有了第二版。

今天制作后台管理系统,有一个二维码管理页面,要求把表格内的数据全部导出为Excel表格。

表格内有二维码图片,也要导出,制作的第一版是直接将图片的链接导出,但是要求导出能直接看的图片,所以就有了第二版。

第一版:

daac13d2f3b6404fb6f1b8d29cef2afd.png

第二版是将图片链接转换成图片的形式

接下来我就带大家来看看这两版的实现:

第一版

安装xlsx插件

npm install xlsx --save

在项目中引入

import * as XLSX from "xlsx";
const data = XLSX.utils.json_to_sheet(tableData.value)//此处tableData.value为表格的数据
const wb = XLSX.utils.book_new()
XLSX.utils.book_append_sheet(wb, data, 'test-data')//test-data为自定义的sheet表名
XLSX.writeFile(wb,'test.xlsx')//test.xlsx为自定义的文件名


以上就是第一版的实现过程,接下来是第二版。

第二版

下载安装插件:

npm install js-table2excel

引入插件:

import table2excel from 'js-table2excel'

onBatchExport方法中数据的key值要与data中保持一致,否则数据无法获取到,打印出的结果就是undefined。

<template>
  <div>
    <el-button @click="onBatchExport">导出</el-button>
  </div>
</template>
<script setup lang="ts">
import table2excel from 'js-table2excel'
// 导出表格  按钮点击后触发事件
const onBatchExport = () => {
  const column = [
    {
      title: '二维码id',
      key: 'id',
      type: 'text',
    },
    {
      title: '景区名称',
      key: 'sciencename',
      type: 'text',
    },
    {
      title: '二维码',
      key: 'code',
      type: 'image',
      width: 150,
      height: 150,
    },
    {
      title: '创建时间',
      key: 'time',
      type: 'text',
    },
  ]
  const tableDatas = JSON.parse(JSON.stringify(tableData.value))//这里面填写你接口的数据
  const datas = tableDatas
  table2excel(column, datas, '二维码')
}
</script>

以上就是本章的全部内容了,感谢您的阅读

相关文章
|
1天前
|
JSON Rust 前端开发
【sheetjs】纯前端如何实现Excel导出下载和上传解析?
本文介绍了如何使用`sheetjs`的`xlsx`库在前端实现Excel的导出和上传。项目依赖包括Vite、React、SheetJS和Arco-Design。对于导出,从后端获取JSON数据,通过`json_to_sheet`、`book_new`和`writeFile`函数生成并下载Excel文件。对于上传,使用`read`函数将上传的Excel文件解析为JSON并发送至后端。完整代码示例可在GitHub仓库[fullee/sheetjs-demo](https://github.com/fullee/sheetjs-demo)中查看。
31 10
|
2天前
|
JavaScript 前端开发 CDN
vue3速览
vue3速览
12 0
|
2天前
|
设计模式 JavaScript 前端开发
Vue3报错Property “xxx“ was accessed during render but is not defined on instance
Vue3报错Property “xxx“ was accessed during render but is not defined on instance
|
2天前
|
缓存 JavaScript 前端开发
Vue3 官方文档速通(中)
Vue3 官方文档速通(中)
11 0
|
2天前
|
缓存 JavaScript 前端开发
Vue3 官方文档速通(上)
Vue3 官方文档速通(上)
14 0
|
3天前
Vue3+Vite+Pinia+Naive后台管理系统搭建之五:Pinia 状态管理
Vue3+Vite+Pinia+Naive后台管理系统搭建之五:Pinia 状态管理
7 1
|
3天前
Vue3+Vite+Pinia+Naive后台管理系统搭建之三:vue-router 的安装和使用
Vue3+Vite+Pinia+Naive后台管理系统搭建之三:vue-router 的安装和使用
7 0
|
3天前
|
缓存 监控 JavaScript
探讨优化Vue应用性能和加载速度的策略
【5月更文挑战第17天】本文探讨了优化Vue应用性能和加载速度的策略:1) 精简代码和组件拆分以减少冗余;2) 使用计算属性和侦听器、懒加载、预加载和预获取优化路由;3) 数据懒加载和防抖节流处理高频事件;4) 图片压缩和选择合适格式,使用CDN加速资源加载;5) 利用浏览器缓存和组件缓存提高效率;6) 使用Vue Devtools和性能分析工具监控及调试。通过这些方法,可提升用户在复杂应用中的体验。
10 0
|
3天前
|
JavaScript 前端开发
vue(1),小白看完都会了
vue(1),小白看完都会了
|
3天前
|
JavaScript 数据库
ant design vue日期组件怎么清空 取消默认当天日期
ant design vue日期组件怎么清空 取消默认当天日期