前端使用的是vue框架,所以首先需要在项目中使用npm install

npm install --save xlsx file-saver

在main.js中引入

 import FileSaver from 'file-saver'import XLSX from 'xlsx'

这里一般我们使用的都是json格式的数据,所以导出的方法如下:

 let sheet = XLSX.utils.aoa_to_sheet(names);let cols = []cloumns.forEach(v => {cols.push({wpx: 150})})sheet["!cols"] = cols//调整列宽sheet['!merges'] = [// 设置A1-C1的单元格合并// {s: {r: 0, c: 0}, e: {r: 0, c: 2}}];let url = sheet2blob(sheet)if (typeof url == 'object' && url instanceof Blob) {url = URL.createObjectURL(url); // 创建blob地址}var aLink = document.createElement('a');let now = new Date()let fileName = JSON.parse(sessionStorage.getItem('projectInfo')).sname + "项目--任务计划" + now.getFullYear() + (now.getMonth() + 1 < 10 ? '0' + (now.getMonth() + 1) : now.getMonth() + 1) + now.getDate() + now.getHours().toString() + now.getMinutes().toString() + now.getSeconds().toString()aLink.href = url;aLink.download = fileName + '.xlsx' || ''; // HTML5新增的属性,指定保存文件名,可以不要后缀,注意,file:///模式下不会生效var event;if (window.MouseEvent) event = new MouseEvent('click');else {event = document.createEvent('MouseEvents');event.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);}aLink.dispatchEvent(event);},
  // 将一个sheet转成最终的excel文件的blob对象,然后利用URL.createObjectURL下载function 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"});// 字符串转ArrayBufferfunction s2ab(s) {var buf = new ArrayBuffer(s.length);var view = new Uint8Array(buf);for (var i = 0; i != s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;return buf;}return blob;}

使用xlsx.utils.js前端导出excel相关推荐

  1. js前端导出Excel(可自定义文件名称,后缀,有边框样式)

    需求: 要求把项目中的table表格导出Excel 需求分析及解决: 既然需要导出,是报表的可能性比较大,我的项目中就是这样,那既然是报表导出,可以是前端导出,也可以是后端导出(技术包括POI或者报表 ...

  2. js前端导出excel:json形式的导出

    第一中形式的导出:主要是表头对应主体数据,json形式的导出 js库文件名称 : table2excel.js这个js库文件是网上找的,并且自己根据自己业务需求把内容改了一下复制到 table2exc ...

  3. js 使用前端导出excel,设置标题和页脚,实现特殊表格需求

    js前端导出excel,网上的例子很多,大部分都是使用如下代码: //统计导出$scope.statisExport=function(){toOutPutExcel('statisTable', ' ...

  4. 前端导出excel(element+xlsx+filesaver插件),表格数据重复问题解决

    纯前端导出excel,表格数据渲染重复 业务需求 页面有table表格里的多条数据,并且没有分页.需求希望不调用接口,纯前端生成excel文件实现导出功能. 效果图 1.安装依赖(xlsx 和 fil ...

  5. js vue 设置excel单元格样式_vue项目使用xlsx-style实现前端导出Excel样式修改(添加标题,边框等),并且上传npm踩坑记录...

    前段时间,我们项目提出一个前端导出Excel表格的需求, 这个很简单,利用xlsx,file-saver很容易实现(网上很多教程). 后来需要加入标题,标题居中显示,加入边框等等样式需求,这就给我很多 ...

  6. xlsx模块 前端_利用xlsx-syle前端导出excel且支持自定义样式

    利用xlsx-syle前端导出excel且支持自定义样式 前言 本文的代码是基于react的. 本文仅用于记录我在前端导出excel遇到的问题的笔记整理. 需求描述 需要前端来实现对数据的导出,导出成 ...

  7. vue3.0 + xlsx 实现纯前端生成excel表格

    vue3.0 + xlsx 实现纯前端生成excel表格 1.安装依赖 npm install xlsx --save 2.导入依赖 import * as XLSX from 'xlsx' // V ...

  8. 前端导出excel自定义样式(行高除外)

    前端导出excel需要用到的依赖有xlsx.xlsx-style import XLSX from 'xlsx'; import XLSXStyle from 'xlsx-style'; npm in ...

  9. vue+elementui表格前端导出excel以及自定义导出样式

    vue+elementui表格前端导出excel以及自定义导出样式 项目遇到前端自己导出表格,我自己把后端给我的数据处理了一波,合并重复列啊,以及表头合并啊.可没想到导出竟然也要前端自己来弄,于是乎请 ...

最新文章

  1. 大学计算机专业副修课,计算机学院举行本科课程教学大纲修订工作研讨会
  2. JavaScript - this详解 (三)
  3. iphone发送邮件html,iPhone使用smtp服务器发送电子邮件?
  4. python从基础到入门电子书_python从入门进阶到大神必须看的电子书汇总
  5. sogou ubuntu安装(最后还是失败了,最近老失败,不知道为啥)
  6. 函数的命名空间以及作用域
  7. Arraylist理解(3)删除元素
  8. 设计一个成功的微服务,堪称必备的9大基础知识
  9. matlab 函数pdf怎么用_pdf加水印怎么加?这个实用pdf编辑工具可以用
  10. PHP如何在微信中聊天_迷你微信私有聊天系统PHP源码支持PC、移动APP
  11. java 继承与多态的区别_【转】 【JavaSE】继承与多态的理解与区别
  12. Happy Necklace
  13. 啥是各向同性、各向异性GNN:
  14. 工作流学习2(书本)
  15. 霍尼韦尔和陕西西咸新区签订投资战略协议;雀巢专业餐饮成都客户交流体验中心落成 | 美通企业日报...
  16. java 回调方法是什么意思_java什么是回调
  17. ArcGIS 切片缓存紧凑文件格式分析与使用
  18. 【论文笔记】LARA:基于GAN的解决冷启动问题的推荐系统
  19. 一种加密,解密的思路
  20. Django自定义FilterSet

热门文章

  1. MathEmatics11.3下开发第二讲之:加载wrl模型源码详解
  2. “贫困县电商特产”大数据地图:一定有你青睐的特色产品
  3. C语言中if常见的错误
  4. 《新手学黑客攻防》下载
  5. AndroidOTA升级流程
  6. 东芝21vf6c_东芝开发21寸高清裸眼3D立体液晶屏
  7. 京东详情页批量关联海报,提高转化80%
  8. 软件测试面霸的修炼心经
  9. Spring Cloud Alibaba Nacos 分布式配置
  10. html5 端午节 龙舟,端午节赛龙舟作文5篇