Xlsx结合File-Saver实现前端页面表格导出Excel为文件

Xlsx结合File-Saver实现前端页面表格导出Excel为文件系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章Python机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例

大家好,又见面了,我是你们的朋友全栈君。

前言:在我们的前端网页页面中如果遇到一些表格存储的数据性问题,我们可以将它们存储为excel形式,那么我们今天来看看该如何实现…



一、XLSX是什么?

XLSX:由SheetJS出品的js-xlsx是一款非常方便的只需要纯JS即可读取和导出excel的工具库,功能强大,支持格式众多,支持xls、xlsx、ods(一种OpenOffice专有表格文件格式)等十几种格式

1.npm下载

代码如下:

npm i xlsx

2.引入库

代码如下:

 import XLSX from "xlsx";

二、FileSaver是什么?

FileSaver:实现浏览器端生成并保存文件的 JavaScript 库 FileSaver.js

1.npm下载:

代码如下:

npm i file-saver

2.引入库:

代码如下:

import FileSaver from "file-saver";

三、结合使用

1.导入:

代码如下:

import FileSaver from "file-saver";
import XLSX from "xlsx";

2.HTML代码:

代码如下:

需要给要导出的表格加上专有标记(ID)

ps:本文采用的是element-ui的表格

<el-table ref="multipleTable" :data="taskData.slice((currentPage-1)*page,currentPage*page)" tooltip-effect="dark" style="width: 100%;overflow:auto;height: 50%;margin-left: 50px" @selection-change="handleSelectionChange" align="center" id="taskTable" >
            .....
</el-table>

3.JS代码:

代码如下:

 var that = this;
 //这只是显示提示信息,可容易忽略不计
 that.$message({ 
   
       type: 'success',
       message: `数据导出中...`
   });
   // 导出的内容只做解析,不进行格式转换
   let xlsxParam = { 
   raw: true};
   //#taskTable为我们表格的ID
   let wb = XLSX.utils.table_to_book(document.querySelector("#taskTable"), xlsxParam);
  //下面代码阐明了保存的类型为什么
   const wbout = XLSX.write(wb, { 
   
       bookType: "xlsx",
       bookSST: true,
       type: "array"
   });
   try { 
   
       FileSaver.saveAs(new Blob([wbout], { 
   type: "application/octet-stream"}), 'file-name.xlsx');
       //file-name为保存的文件的名称
   } catch (e) { 
   
       if (typeof console !== "undefined") console.log(e, wbout);
   }
   return wbout;

这样就可以实现简单的前端页面表格导出为excel格式的文件了,你可以将其封装在一个方法里面在需要实现导出功能的按钮上进行绑定即可。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/154146.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 2021IDEA创建JavaWeb项目

    2021IDEA创建JavaWeb项目IntellijIDEA2021.1创建Javaweb项目(超详细)_十九舟的博客-CSDN博客_idea2021创建web项目在此基础上,添加lib

  • CreateMutex互斥量

    CreateMutex互斥量C++API CreateMutex找出当前系统是否已经存在指定进程的实例。如果没有则创建一个互斥体。CreateMutex()函数可用来创建一个有名或无名的互斥量对象。HANDLECreateMutex(  LPSECURITY_ATTRIBUTES lpMutexAttributes,//指向安全属性的指针  BOOL bInitialOwner,//

  • Linux shell awk数组使用

    Linux shell awk数组使用awk中使用数组一.数组格式数组是一个包含一系列元素的表.格式如下:abc[1]=”xiaohong”abc[2]=”xiaolan”解释:abc:为数组名称[1]、[2]:为数组元素下标,可以理解为数组的第1个元素、数组的第2个元素”xiaohong”、”xiaolan”:元素内容数组arrray[index-express…

  • scrapy使用代理ip_useragent怎么改

    scrapy使用代理ip_useragent怎么改#使用了fake库fromfake_useragentimportUserAgent#配置headersclassRandomUserAgentMidddlware(object):#随机更换user-agentdef__init__(self,crawler):super(RandomUserAgentMidddlware,self).__init__()self.ua=UserAgent()#.

  • Java实现邮件发送

    Java实现邮件发送Java实现邮件发送一、邮件服务器与传输协议要在网络上实现邮件功能,必须要有专门的邮件服务器。这些邮件服务器类似于现实生活中的邮局,它主要负责接收用户投递过来的邮件,并把邮件投递到邮件接收者的电子邮箱中。SMTP服务器地址:一般是smtp.xxx.com,比如163邮箱是smtp.163.com,qq邮箱是smtp.qq.com。SMTP协议通常把处理用户smtp请求(邮件…

  • 美国网件对KRACK WPA2安全漏洞做出回应:表示正积极跟进修复[通俗易懂]

    美国网件对KRACK WPA2安全漏洞做出回应:表示正积极跟进修复[通俗易懂]NETGEAR美国网件意识到最近公布的安全漏洞KRACK,它利用了WPA2(WiFi保护访问II)中的安全漏洞。美国网件现正在积极跟进修复,已更新了多个产品的修复程序,请浏览美国网件官方网站(https://kb.netgear.com/000049498/Security-Advisory-for-WPA-2-Vulnerabilities-PSV-2017-2826-PSV-2017-2836…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号