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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
import React from 'react';
import PropTypes from 'prop-types';
import ExportJsonExcel from 'js-export-excel';
import JSZip from 'jszip';
// 导出Excel表格
const ExportExcel = (props) => {
let option = {};
option.fileName = props.name;
option.datas = props.content;
let toExcel = new ExportJsonExcel(option); //new
toExcel.saveExcel();
};
ExportExcel.defaultProps = {
name: 'excel',
content: [],
};
ExportExcel.propTypes = {
name: PropTypes.string, // 下载文件名称
content: PropTypes.array, // 下载文件内容
};
// 导出压缩Excel表格
const ExportExcelZip = (props) => {
let option = {};
option.fileName = props.name;
option.saveAsBlob = true;
option.datas = props.content;
let toExcel = new ExportJsonExcel(option); //new
let file = toExcel.saveExcel();
// 压缩文件
let zip = new JSZip();
// 多个excel 依次加入(fileName不能相同)
zip.file(file.name, file);
zip.generateAsync({ type: 'blob' }).then(function (content) {
// see FileSaver.js
saveAs(content, `${props.name}.zip`); // 下载文件
});
};
ExportExcelZip.defaultProps = {
name: 'excel',
content: [],
};
ExportExcelZip.propTypes = {
name: PropTypes.string, // 下载文件名称
content: PropTypes.array, // 下载文件内容
};
export { ExportExcel, ExportExcelZip };