手把手教你Element Plus前端导出Excel表格

news2024/11/15 23:40:25

目录

需求背景:

项目环境:

最终效果:

具体实现:

1、下载第三方依赖包:

pnpm下载命令:

npm下载命令:

2、查看是否下载成功:

3、引入需要使用的页面js中

4、编写导出表格函数

5、添加导出按钮标签

6、在原有table表格中添加id

可能出现的问题:

解决方法:

如何将自定义的.d.ts文件包含在TypeScript编译过程中?


需求背景:

项目需要实现通将页面的table表格数据导出为excel文件

项目环境:

本功能是基于项目环境为Vue3+Element Plus实现的

最终效果:

 点击按钮就可以直接下载到本地

具体实现:

1、下载第三方依赖包:

pnpm下载命令:
pnpm install --save xlsx file-saver
npm下载命令:
npm install --save xlsx file-saver

2、查看是否下载成功:

终端显示:

 并且可以在package.json文件中看到:

"file-saver": "^2.0.5",
"xlsx": "^0.18.5"

说明下载成功

3、引入需要使用的页面js中

import FileSaver from 'file-saver'
import * as XLSX from 'xlsx';

4、编写导出表格函数

function exportClick() {
  const wb = XLSX.utils.table_to_book(document.querySelector('#my-table'))// 关联dom节点
  /* get binary string as output */
  const wbout = XLSX.write(wb, {
    bookType: 'xlsx',
    bookSST: true,
    type: 'array',
  })
  try {
    FileSaver.saveAs(new Blob([wbout], {
      type: 'application/octet-stream',
    }), '心理测试成绩.xlsx')
  }
  catch (e) {
    // eslint-disable-next-line max-statements-per-line, no-console
    if (typeof console !== 'undefined') { console.log(e, wbout) }
  }
  return wbout
}

5、添加导出按钮标签

<el-button type="warning" plain @click="exportClick ">
    导出表格
</el-button>

6、在原有table表格中添加id

<el-table id="my-table" :data="filterTableData" style="width: 100%;">

可能出现的问题:

  • import FileSaver from 'file-saver'报红
  • 报红的位置是'file-saver'
  • 报错信息显示:无法找到模块“file-saver”的声明文件。

解决方法:

  1. 在项目根目录下创建一个名为custom.d.ts(或其他你选择的名称)的新文件。
  2. 在该文件中添加以下内容:
    declare module 'file-saver';
  3. 将这个.d.ts文件包含在您的TypeScript编译过程中。

这样做将手动创建一个模块声明,告诉TypeScript编译器如何处理file-saver模块的类型。

如何将自定义的.d.ts文件包含在TypeScript编译过程中?

  1. 打开项目中的tsconfig.json文件。如果没有该文件,请在项目根目录创建一个新的tsconfig.json文件。

  2. tsconfig.json文件中,添加或修改include属性,确保它包含您的.d.ts文件所在的路径或文件:

    {
      "compilerOptions": {
        // 其他选项...
      },
      "include": [
        "src", // 示例,包含您的源代码目录
        "custom.d.ts" // 添加您的自定义.d.ts文件
      ]
    }
    

    注意,需要根据实际情况调整路径和文件名。

  3. 保存并关闭tsconfig.json文件。

参考文章:基于Element Plus 表格导入和导出excle文件_elementplus文件导出excel_拿铁喝布丁的博客-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/890722.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【0基础入门Python笔记】一、python 之基础语法、基础数据类型、复合数据类型及基本操作

一、python 之基础语法、基础数据类型、复合数据类型及基本操作 基础语法规则基础数据类型数字类型&#xff08;Numbers&#xff09;字符串类型&#xff08;String&#xff09;布尔类型&#xff08;Boolean&#xff09; 复合数据类型List&#xff08;列表&#xff09;Tuple&…

【傅里叶级数与傅里叶变换】数学推导——2、[Part2:T = 2 π的周期函数的傅里叶级数展开] 及 [Part3:周期为2L的函数展开]

文章内容来自DR_CAN关于傅里叶变换的视频&#xff0c;本篇文章提供了一些基础知识点&#xff0c;比如三角函数常用的导数、三角函数换算公式等。 文章全部链接&#xff1a; 基础知识点 Part1&#xff1a;三角函数系的正交性 Part2&#xff1a;T2π的周期函数的傅里叶级数展开 P…

顺序程序设计

#include <iostream> #include <stdio.h>int main() {float f, c;f 64.0f;c (5.0 / 9) * (f - 32);printf("f%f \n \\c%f\n", f, c);return 0; }

poste邮件服务器搭建

关于poste poste是一款开源邮件服务软件&#xff0c;可以很方便的搭建&#xff1a;SMTP IMAP POP3 反垃圾邮件 防病毒 Web 管理 Web 电子邮件&#xff0c;支持以下特性。 SPF、DKIM、DMARC、SRS 的原生实现&#xff0c;带有简单的向导用于检测木马、病毒、恶意软件的防…

【Hyper-V】Windows11 家庭版怎么启用虚拟机Hyper-V

在电脑Windows11系统上启用虚拟机Hyper-V&#xff0c;打开 启用和关闭WIndows功能&#xff0c;找到其中一项Hyper-V&#xff0c;对于家庭版的系统用户来说&#xff0c;这个选项是没有的&#xff0c;接下来讲一讲怎么开启。 安装Hyper-V 创建一个文件名为Hyper-v.bat&#xff…

人工智能原理(9)

目录 一、人工神经元模型 1、概念 2、分类 二、感知器的结构 三、反向传播网络 四、自组织映射神经网络 五、离散HOPFIELD网络 1、离散Hopfield网络结构 2、离散Hopfield网络的稳定性 3、离散Hopfield网络学习算法 六、脉冲耦合神经网络 一、人工神经元模型 1、概念…

Centos7安装Docker及配置加速器地址

一、安装docker #1.yum 包更新到最新 yum update #2.安装需要的软件包&#xff0c;yum-util 提供yum-config-manager功能&#xff0c;另外两个是devicemapper驱动依赖的 yum install -y yum-utils device-mapper-persistent-data lvm2 #3.设置yum源 yum-config-manager --add…

【推荐】深入浅出学习Spring框架【上】

​ 目录 1.spring简介 1.1含义 1.2优点 2&#xff0c;Spring之IOC详解 2.1&#xff0c;控制反转是什么 2.2&#xff0c;控制反转案例 2.1.3案例前台测试 3、IoC的三种注入方式 3.1 构造方法注入 3.2 setter方法注入 3.3 接口注入&#xff08;自动装配&#xff09;用的最多&…

考研408 | 【操作系统】操作系统的概述

操作系统的概念和功能 导图 操作系统的功能和目标 1.作为系统资源的管理者 2.向上层提供方便易用的服务 3.作为最接近硬件的层次 操作系统的特征 导图 并发 并发VS并行 共享 并发和共享的关系 虚拟 异步 操作系统的发展和分类 导图 1.手工操作 2.批处理阶段--单道批处理系统…

JavaWeb 速通 EL 和 JSTL

目录 一、EL表达式 1.快速入门 : 1.1 基本介绍 1.2 入门案例 2.常用输出形式 : 2.1 创建JavaBean类 2.2 创建JSP文件 3.empty运算符 : 3.1 介绍 3.2 实例 4.EL对象 : 4.1 EL11个内置对象 4.2 域对象演示 4.3获取HTTP信息 二、JSTL标签库 1.基本介绍 : 2.core核心库常用标…

java 一个注解实现限流

在Java中&#xff0c;可以使用自定义注解来实现限流功能。 java import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; Retention(RetentionPolicy.RUNTIME…

【数据结构】 ArrayList简介与实战

文章目录 什么是ArrayListArrayList相关说明 ArrayList使用ArrayList的构造无参构造指定顺序表初始容量利用其他 Collection 构建 ArrayListArrayList常见操作获取list有效元素个数获取和设置index位置上的元素在list的index位置插入指定元素删除指定元素删除list中index位置上…

redis-集群(基础了解)

前言 为什么要做集群&#xff1f;解决什么问题&#xff1f; 1、避免单点故障&#xff0c;实现高可用&#xff1b;就需要数据沉余&#xff0c;通过沉余副本也是slave。 三种集群区别&#xff1f; 1、主从复制 复制策略 --> 全量复制 第一次连接到master&#xff0c;mast…

Mysql整理一 基础知识/常见面试题

一、基础概念 1. 索引 之前的文章已经写过了&#xff0c;比较细 数据库索引含义,类别,用法,创建方式_表结构加树形id和索引是为什么_马丁•路德•王的博客-CSDN博客 简单概括就是在表的某个列或者多个列或者联合表的时候加个索引&#xff0c;类似图书馆书本的索引编号&…

git环境超详细配置说明

一&#xff0c;简介 在git工具安装完成之后&#xff0c;需要设置一下常用的配置&#xff0c;如邮箱&#xff0c;缩写&#xff0c;以及git commit模板等等。本文就来详细介绍些各个配置如何操作&#xff0c;供参考。 二&#xff0c;配置步骤 2.1 查看当前git的配置 git conf…

pyqt5 第一个程序

import sys from PyQt5.QtWidgets import QApplication, QWidgetif __name__ __main__:# 创建 QApplication 实例app QApplication(sys.argv)# 创建一个主窗口w QWidget()# 设置大小w.resize(400, 200)# 设置窗口标题w.setWindowTitle(第一个程序)# 显示窗口w.show()# 固定写…

Arcgis连续数据的分类(求不同值域的面积)

问题描述&#xff1a;如果得到的一个连续的影响数值数据&#xff0c;但是我们想求取某一段值域的面积占比&#xff0c;需要进行以下操作&#xff1a; 1.按照数值重分类&#xff0c;将某段数值变成一个类别 2.栅格转矢量&#xff0c;再求取面积

第7章:贝叶斯分类器

贝叶斯决策论 贝叶斯分类器&#xff1a;使用贝叶斯公式 贝叶斯学习&#xff1a;使用分布估计&#xff08;不同于频率主义的点估计&#xff09; 极大似然估计 朴素贝叶斯分类 半朴素贝叶斯 条件独立性假设&#xff0c;在现实生活中往往很难成立。 半朴素贝叶 斯的一个常用策略…

学习ts(四)联合类型、交叉类型、类型断言

联合类型 使用联合类型定义属性和方法&#xff0c;只要符合其中一种即可 let myPhone: string | number 010-7788 // let myPhone1: string | number true 因为没有包含boolean值 会报错const fn (something: number | boolean): boolean > {return !!something }con…

Android Studio 之 Android 中使用 HanLP 进行句子段落的分词处理(包括词的属性处理)的简单整理

Android Studio 之 Android 中使用 HanLP 进行句子段落的分词处理&#xff08;包括词的属性处理&#xff09;的简单整理 目录 Android Studio 之 Android 中使用 HanLP 进行句子段落的分词处理&#xff08;包括词的属性处理&#xff09;的简单整理 一、简单介绍 二、实现原理…