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格式的文件了,你可以将其封装在一个方法里面在需要实现导出功能的按钮上进行绑定即可。

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

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

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • XXE详解

    XXE详解xxe漏洞的学习与利用总结前言对于xxe漏洞的认识一直都不是很清楚,而在我为期不长的挖洞生涯中也没有遇到过,所以就想着总结一下,撰写此文以作为记录,加深自己对xxe漏洞的认识。xml基础知识要了解xxe漏洞,那么一定得先明白基础知识,了解xml文档的基础组成。XML用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许…

    2022年5月10日
  • 一文讲透鱼眼相机畸变矫正,及目标检测项目应用 值得收藏

    1个人介绍大家好,我是潘大强。目前博士毕业4年,主要从事智能安防行业。之前也分享过AI从业的一些心得,个人介绍链接。应大白的邀请,从AI从业者的角度,分享工作中遇到的一些经验。之前在江大白的群里,看到有同学提问“鱼眼相机标定”的问题。对于鱼眼相机的标定和矫正,网上已经有很多理论文章,但是落实到代码层面的并不多,而且大部分代码都是C++实现。但是做AI的同学,大多数都是用python语言,所以本次分享,我用python语言(只依赖opencv-python包和numpy包)..

    2022年4月17日
  • 【图解算法面试】记一次面试:说说游戏中的敏感词过滤是如何实现的?

    【图解算法面试】记一次面试:说说游戏中的敏感词过滤是如何实现的?版权声明:本文为苦逼的码农原创。未经同意禁止任何形式转载,特别是那些复制粘贴到别的平台的,否则,必定追究。欢迎大家多多转发,谢谢。小秋今天去面试了,面试官问了一个与敏感词过滤算法相关的问题,然而小秋对敏感词过滤算法一点也没听说过。于是,有了下下事情的发生…面试官开怼面试官:玩过王者荣耀吧?了解过敏感词过滤吗?,例如在游戏里,如果我们发送“你在干嘛?麻痹演员啊你?”,由于“麻痹”是一个敏感词,…

    2022年5月1日
  • ArcGIS二次开发基础教程(07):简单符号及图层渲染「建议收藏」

    ArcGIS二次开发基础教程(07):简单符号及图层渲染「建议收藏」ArcGIS二次开发基础教程(07):简单符号及图层渲染简单渲染0.点渲染IGeoFeatureLayerGetLayerByName(stringname){ILayerlayer=null;for(inti=0;i<axMapConTrol1.LayerCount;i++){layer=axMapControl1….

    2022年7月23日
  • latex的参考文献写法标准_参考文献举例

    latex的参考文献写法标准_参考文献举例使用Latex撰写论文时,通常会遇到参考文献格式问题,下面我将与大家分享Latex参考文献规范写作。 1、建议使用bib文件编写Reference这样可以减少格式、空格和标点符号的错误。 Bibtex使用方法简介:新建一个空白文本文档,把后缀名改成bib即可,比如TIP.bib; 用TexWorks打开文件,加入你想要引用的文章,有一个简便的添加的方式是使用百度/谷歌…

    2022年9月4日
  • Ant下载及配置安装

    Ant下载及配置安装Ant下载及配置安装

    2022年7月13日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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