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)


相关推荐

发表回复

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

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