项目中后端返回 JSON 数据,我们前端需要生成 Excel 文件并保存
第一种方法
安装
- 我这里使用了 vue-cli. 安装依赖包
1 | npm i file-saver xlsx script-loader -S |
使用
在项目中创建一个文件夹(比如 vendor,一般是在 src 目录下创建)
把 Blob.js 和 Export2Excel.js 这两个文件夹放到新建的文件夹内
由于这几个文件不支持 import 引入,所以我们需要 script-loader 来将他们挂载到全局环境下
添加到 export2Excel.js
1 | require('script-loader!file-saver'); //保存文件用 |
- 注意 Bolb 的引入 上面的引入需要修改成这样
1 | require('script-loader!@/vendor/Blob'); //引入之前下载的Bolo.js |
使用方法
在 vue 的 methods 钩子中新增方法
代码如下
1 | handleDownload() { |
参考文档
- 不是官方的,网上的 参考文档
第二种方法
1 | npm i js-export-excel -S |
使用
1 | const option = {}; |
选项
- 数据数据
1 | /*多个sheet*/ |
fileName 下载文件名(默认:下载)
表格选项
- sheetName sheet 名字(可有可无)(默认 sheet1)
- **sheetHeader **标题(excel 第一行数据)
1 | sheetHeader: ["姓名", "性别"], |
- columnWidths列宽非必须
1 | // number 屏幕宽度为100 20即为 1/5屏幕大小 |
- sheetData数据源(必须)
1 | //第一种方式 Object |
- sheetFilter 列过滤(只有在数据为对象下起作用)(可有可无)
1 | sheetFilter = ['two', 'one']; |
参考文档
- npm 地址 js-export-excel
- 使用参考文档 参考文档
- 安装