1.  npm install xlsx

2. 在App.vue 中引入xlsx

import * as XLSX from 'xlsx'; // 数据导出导入所需要的依赖

 3.  使用xlsx

  3.1 新建一个工作簿 workBook

  3.2 生成一个工作表 sheet

  3.3 在工作簿中添加工作表

  3.4 导出 .xlsx文件

//1. 新建一个工作簿
let workbook = XLSX.utils.book_new();
//2. 生成一个工作表,
//2.1 aoa_to_sheet 把数组转换为工作表
let sheet1 = XLSX.utils.aoa_to_sheet(data1);
//2.2 把json对象转成工作表
let sheet2 = XLSX.utils.json_to_sheet(data2);
//3.在工作簿中添加工作表
XLSX.utils.book_append_sheet(workbook, sheet1, 'sheetName1'); //工作簿名称
XLSX.utils.book_append_sheet(workbook, sheet2, 'sheetName2'); //工作簿名称
// XLSX.utils.sheet_add_json(sheet1,data2);//把已存在的sheet中数据替换成json数据
//4.输出工作表,由文件名决定的输出格式
XLSX.writeFile(workbook, 'workBook1.xlsx'); // 保存的文件名

全部代码如下:

<template>
<div id="app">
<p>vue use xlsx</p>
</div>
</template> <script>
import * as XLSX from 'xlsx'; // 数据导出导入所需要的依赖
export default {
name: 'app',
data() {
return {}
},
mounted() {
this.exportExcle();
},
methods: {
/**
* workbook 工作簿
* sheet 工作表
* cellAddress Excel引用样式(单元格地址)
* cell 单元格
* */
exportExcle() {
var data1 = [
["id", "name", "value"],
[1, "sheetjs", 7262],
[2, "js-xlsx", 6969]
]; var data2 = [{
周一: '语文',
周二: '数学',
周三: '历史',
周四: '政治',
周五: '英语'
},
{
周一: '数学',
周二: '数学',
周三: '政治',
周四: '英语',
周五: '英语'
},
{
周一: '政治',
周二: '英语',
周三: '历史',
周四: '政治',
周五: '数学'
},
]; //1. 新建一个工作簿
let workbook = XLSX.utils.book_new();
//2. 生成一个工作表,
//2.1 aoa_to_sheet 把数组转换为工作表
let sheet1 = XLSX.utils.aoa_to_sheet(data1);
//2.2 把json对象转成工作表
let sheet2 = XLSX.utils.json_to_sheet(data2);
//3.在工作簿中添加工作表
XLSX.utils.book_append_sheet(workbook, sheet1, 'sheetName1'); //工作簿名称
XLSX.utils.book_append_sheet(workbook, sheet2, 'sheetName2'); //工作簿名称
// XLSX.utils.sheet_add_json(sheet1,data2);//把已存在的sheet中数据替换成json数据
//4.输出工作表,由文件名决定的输出格式
XLSX.writeFile(workbook, 'workBook1.xlsx'); // 保存的文件名
}
}
}
</script> <style>
#app {
text-align: center;
}
</style>

把vue项目运行到浏览器,浏览器会强制下载导出的文件:

打开文件,sheet内容如下;

如果使用了   XLSX.utils.sheet_add_json(sheet1,data2)   ,文件内容如下:


参考链接:

[1] https://github.com/rockboom/SheetJS-docs-zh-CN

[2] https://www.cnblogs.com/lvsk/p/11970747.html

[3] https://www.jianshu.com/p/0244100c93b0

vue项目中使用 SheetJS / js-xlsx 导出文件的更多相关文章

  1. 在vue项目中使用canvas-nest.js,报parameter 1 is not of type 'Element'

    canvas-nest.js是一款轻量的网页特效,如图: github地址:https://github.com/hustcc/canvas-nest.js 在普通的html项目中,只要将<sc ...

  2. 在vue项目中的main.js中直接使用element-ui中的Message 消息提示、MessageBox 弹框、Notification 通知

    需求来源:向后台请求数据时后台挂掉了,后台响应就出现错误,不做处理界面就卡住了,这时需要在main.js中使用axios的响应拦截器在出现相应错误是给出提示.项目使用element-ui,就调用里面的 ...

  3. vue项目中使用 SheetJS / js-xlsx 导入文件

    原表格样式; 导入效果: 1.  安装 npm install xlsx 2. 在App.vue 中引入xlsx import * as XLSX from 'xlsx'; // 数据导出导入所需要的 ...

  4. vue项目中使用md5.js及base64.js

    一.在项目根目录下安装 npm install --save js-base64 npm install --save js-md5 二.在项目文件中引入 import md5 from 'js-md ...

  5. vue项目中,main.js,App.vue,index.html如何调用

    1.main.js是我们的入口文件,主要作用是初始化vue实例,并引入所需要的插件 2.App.vue是我们的主组件,所有页面都是在App.vue下进行切换的.其实你也可以理解为所有的路由也是App. ...

  6. 在vue项目中使用Nprogress.js进度条

    NProgress是一款在网页顶部添加细长进度条的工具,非常轻巧,使用起来也非常便捷,灵感来源于Google, YouTube. 1.安装 $ npm install --save nprogress ...

  7. 如何在vue项目中使用md5.js及base64.js

    一.在项目根目录下安装 npm install --save js-base64 npm install --save js-md5 二.在项目文件中引入 import md5 from 'js-md ...

  8. 【土旦】vue项目中 使用 pako.js 解密 gzip加密字符串

    前言 今天跟后台对接一个接口,接受到一个加密的值,说是通过gzip加密过的,然后就蒙蔽了, 赶紧上百度找了一下资料,通过一篇文章(原文在底部)发现有个js库可以解密,就下载轻松解密了 实现代码 pok ...

  9. 踩坑,vue项目中,main.js引入scss文件时报错

    当我们在src目录下创建.scss文件,并在main.js中引用,运行时会报: ERROR Failed to compile with 1 errors 5:25:07 PMThis relativ ...

随机推荐

  1. Zookeeper+Dubbo环境搭建与Demo测试

     环境准备: 1. zookeeper-3.4.14     (下载地址:http://archive.apache.org/dist/zookeeper/) 2. dubbo-0.2.0 (下载地址 ...

  2. 网络通信IO的演变过程(二)(一个门外汉的理解)

    2.NIO 当与别人谈论NIO时,一定要弄清楚别人说的NIO是指哪个含义? NIO有2种含义: 1.NonBlocking IO,基于操作系统谈 2.Java New IO,基于Java谈 我们这里主 ...

  3. 我们一起来回顾一下Synchronized关键字吧

    多线程一直Java开发中的难点,也是面试中的常客,趁着还有时间,打算巩固一下JUC方面知识,我想机会随处可见,但始终都是留给有准备的人的,希望我们都能加油!!! 沉下去,再浮上来,我想我们会变的不一样 ...

  4. [敏捷软工团队博客]Beta阶段测试报告

    项目 内容 2020春季计算机学院软件工程(罗杰 任健) 博客园班级博客 作业要求 Beta阶段测试报告 我们在这个课程的目标是 在团队合作中锻炼自己 这个作业在哪个具体方面帮助我们实现目标 对Bet ...

  5. [no code][scrum meeting] Alpha 9

    项目 内容 会议时间 2020-04-15 会议主题 OCR验收 会议时长 15min 参会人员 OCR组成员 $( "#cnblogs_post_body" ).catalog( ...

  6. 使用cerebro可视化ElasticSearch集群信息

    使用cerebro可视化ElasticSearch集群信息 一.背景 二.安装步骤 1.下载并解压 2.配置cerebro 3.启动 cerebro 4.启动界面 三.注意事项 四.参考文档 一.背景 ...

  7. Allegro如何测量距离,测距工具的使用

    http://www.allegro-skill.com/thread-2480-1-1.html

  8. 攻防世界 杂项 7.Aesop_secret

    打开发现是个gif,以为有个二维码扫一下就给flag,结果被欺骗.呜呜呜 好了,还是使用编辑器看一下吧 发现了好玩的,U2FsdGVkX19QwGkcgD0fTjZxgijRzQOGbCWALh4sR ...

  9. Android编译执行envsetup.sh,产生工具命令m、mm、mmm、mmma、tapas 、croot、cgrep、jgrep、 resgrep、godir

    一般来说编译一个sdk或者一个比较大的工程项目,第一步都是执行 envsetup.sh这个脚本,比如编译android,qt源码以及其他一些嵌入式的sdk. 而且执行的时候需要特别注意使用 sourc ...

  10. WPF实现统计图

    WPF开发者QQ群: 340500857  | 微信群 -> 进入公众号主页 加入组织 前言 有小伙伴提出需要实现统计图. 由于在WPF中没有现成的统计图控件,所以我们自己实现一个. PS:有更 ...