表格文件导出

2022/6/28 表格导出文件

表格文件导出

# 安装包

安装包
npm install --save js-export-excel

or

yarn add js-export-excel

1
2
3
4
5
6
7

# 创建 exportExcel.js 文件

//exportExcel.js
// 直接导出文件
const ExportJsonExcel = require("js-export-excel");
 
export function exportExcel(option){
  var toExcel = new ExportJsonExcel(option); //new
  toExcel.saveExcel(); //保存
}

1
2
3
4
5
6
7
8
9

# 使用

import {exportExcel} from "@/assets/js/exportExcel.js"
// 处理导出数据结构
var option = {};
 
option.fileName = "excel";
 
option.datas = [
  {
    sheetData: [
      { one: "一行一列", two: "一行二列" },
      { one: "二行一列", two: "二行二列" },
    ],
    sheetName: "sheet",
    sheetFilter: ["two", "one"],
    sheetHeader: ["第一列", "第二列"],
    columnWidths: [20, 20],
  },
  {
    sheetData: [
      { one: "一行一列", two: "一行二列" },
      { one: "二行一列", two: "二行二列" },
    ],
  },
];
// 导出
exportExcel(option);

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

# 导出blob,支持压缩等其他操作

const ExportJsonExcel = require("js-export-excel");
const JSZip = require("jszip");
 
var option = {};
 
option.fileName = "excel";
 
option.saveAsBlob = true;
 
option.datas = [
  {
    sheetData: [
      { one: "一行一列", two: "一行二列" },
      { one: "二行一列", two: "二行二列" },
    ],
    sheetName: "sheet",
    sheetFilter: ["two", "one"],
    sheetHeader: ["第一列", "第二列"],
    columnWidths: [20, 20],
  },
  {
    sheetData: [
      { one: "一行一列", two: "一行二列" },
      { one: "二行一列", two: "二行二列" },
    ],
  },
];
 
var toExcel = new ExportJsonExcel(option); //new
 
let file = toExcel.saveExcel();
 
// 压缩文件
var zip = new JSZip();
 
// 多个excel 依次加入(fileName不能相同)
zip.file(file.name, file);
 
zip.generateAsync({ type: "blob" }).then(function (content) {
  // see FileSaver.js
  saveAs(content, "example.zip"); // 下载文件
});

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43

# 参数字段

weix weix weix