【xlsx+vue】前端生成可下载的xlsx表格
组件引入:
<script type="text/javascript" src="./xlsx.core.min.js"></script>
相关调用:jsonData为后台返回的json数据
const title = [{ key: "aaa", text: "字段1" },{ key: "bbb", text: "字段2" },{ key: "ccc", text: "字段3" },];exportSpecialExcel(title, jsonData);
相关方法:
export const exportSpecialExcel = (title = [], data = [], filename = Date.now()) => {const tableData = [];// 添加titletableData.push(title.map((n) => n.text));for (const item of data) {const row = [];for (const t of title) {row.push(item[t.key]);}tableData.push(row);}var sheet = XLSX.utils.aoa_to_sheet(tableData);openDownloadDialog(sheet2blob(sheet), `${filename}.xlsx`);
}
export const openDownloadDialog = (url, saveName) => {if (typeof url == "object" && url instanceof Blob) {url = URL.createObjectURL(url); // 创建blob地址}var aLink = document.createElement("a");aLink.href = url;aLink.download = saveName || ""; // HTML5新增的属性,指定保存文件名,可以不要后缀,注意,file:///模式下不会生效aLink.click();
}// 将一个sheet转成最终的excel文件的blob对象,然后利用URL.createObjectURL下载
export const sheet2blob = (sheet, sheetName) => {sheetName = sheetName || "sheet1";var workbook = {SheetNames: [sheetName],Sheets: {},};workbook.Sheets[sheetName] = sheet;// 生成excel的配置项var wopts = {bookType: "xlsx", // 要生成的文件类型bookSST: false, // 是否生成Shared String Table,官方解释是,如果开启生成速度会下降,但在低版本IOS设备上有更好的兼容性type: "binary",};var wbout = XLSX.write(workbook, wopts);var blob = new Blob([s2ab(wbout)], {type: "application/octet-stream",});return blob;
}
※相关资料找不到了 此篇仅为学习记录
【xlsx+vue】前端生成可下载的xlsx表格相关推荐
- vue前端生成二维码,实现扫码下载功能
vue前端生成二维码,实现扫码下载功能 首先需要安装一个插件 npm install --save qrcodejs2 然后在需要的页面引入插件,最后使用 <template><di ...
- vue + docxtemplater 实现前端生成并下载word
vue + docxtemplater 实现前端生成并下载word 文章目录 vue + docxtemplater 实现前端生成并下载word 前言 平时工作中需要将多条数据以word形式下载,手动 ...
- Vue前端资源本地下载(即文件放在前端目录下)
1. 静态资源文件一般放置在public的static的目录下,src/assets下不行 2. 写一个按钮 比如文件名为"下载资源",下载到你本地的文件名称 下载文件名为&quo ...
- 前端生成、下载二维码
前台生成.下载二维码 点击查看按钮,弹出二维码弹框 查看按钮 <el-button type="text" @click="useqrcode(scope.row) ...
- vue前端生成二维码并提供二维码下载
在一个管理后台的开发过程中使用到了需要前端自行生成分享二维码,并提供二维码下载功能,网上的解决方案很多,最终自己做完的思路和代码整理记录方便后续学习使用! vue版本为2.x 具体实现步骤: 下载安装 ...
- ant jeecg vue 前端通过dom节点 导出xlsx表格
点击导出 : 效果图: 上代码 安装依赖:npm install xlsx@0.17.0 file-saver@2.0.5 --save xlsx要指定版本不然会报错 <template& ...
- vue:实现前端生成并下载二维码(使用qrcodejs2插件)
需求 点击按钮下载二维码,并命名为"奶绿走糖-二维码". HTML <button @click="getPersonCode()">下载二维码&l ...
- vue前端生成二维码并导出PDF
1.安装插件 npm install --save qrcodejs2 (这是生成微信二维码插件) npm install html2canvas jspdf --save (这是将html页面转化为 ...
- 前端生成pdf 下载
前端实现HTML转PDF下载的两种方式 - 简书 方式一:使用html2canvas和jspdf插件实现 该方式是通过html2canvas将HTML页面转换成图片,然后再通过jspdf将图片的bas ...
最新文章
- Σ-delta ADC是否可以测量热噪声?
- python传输大文件_python之socket运用之传输大文件
- spring cloud构建互联网分布式微服务云平台-Ribbon
- HTML是万维网核心语言的第几代,Html5相关的知识点总结
- 美食海报设计技巧?有机轻食饮食新趋势!
- 数据结构与算法之 树
- 如何使用putExtra()和getExtra()来表示字符串数据
- ASP.NET与JS交互
- Resource stopwords not found. Please use the NLTK Downloader to obtain the resource的解决
- 用计算机上发微博,电脑版新浪微博怎么使用?新浪微博基本使用方法介绍
- eclipse 2020版 安装与配置完美教程
- wingdings字体符号在哪_Wingdings特殊字符及符號對照表 | 學步園
- 电信NB-IOT物联网卡与阿里云物联网平台,不得不说的秘密!
- html全屏ipad顶部状态栏,iPad横屏和竖屏界面尺寸设计规范【最全】
- 刚到马来西亚旅游怎么临时解决电话卡问题
- react前端显示图片_在react中怎么动态渲染图片?
- 计算机组装遇到问题,组装电脑硬件遇到问题怎么办 组装电脑硬件问题解决方法【详解】...
- 01 计算机、程序和Java概述
- vue使用DES模式加密解密,包括Java加密解密
- mysql sql where or_SQL -------- WHERE子句与AND,OR和NOT运算符结合使用。