vxe-table-plugin-export-xlsx-xhx 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,270 +1,256 @@
1
- (function (global, factory) {
2
- if (typeof define === "function" && define.amd) {
3
- define("vxe-table-plugin-export-xlsx", ["exports", "xe-utils", "xlsx"], factory);
4
- } else if (typeof exports !== "undefined") {
5
- factory(exports, require("xe-utils"), require("xlsx"));
6
- } else {
7
- var mod = {
8
- exports: {}
9
- };
10
- factory(mod.exports, global.XEUtils, global.XLSX);
11
- global.VXETablePluginExportXLSX = mod.exports.default;
12
- }
13
- })(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _xeUtils, _xlsx) {
14
- "use strict";
15
-
16
- Object.defineProperty(_exports, "__esModule", {
17
- value: true
18
- });
19
- _exports["default"] = _exports.VXETablePluginExportXLSX = void 0;
20
- _xeUtils = _interopRequireDefault(_xeUtils);
21
- _xlsx = _interopRequireDefault(_xlsx);
22
-
23
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
24
-
25
- /* eslint-disable no-unused-vars */
26
-
27
- /* eslint-enable no-unused-vars */
28
- var _vxetable;
29
-
30
- function getFooterCellValue($table, opts, rows, column) {
31
- var cellValue = _xeUtils["default"].toString(rows[$table.$getColumnIndex(column)]);
32
-
33
- return cellValue;
34
- }
35
-
36
- function toBuffer(wbout) {
37
- var buf = new ArrayBuffer(wbout.length);
38
- var view = new Uint8Array(buf);
39
-
40
- for (var index = 0; index !== wbout.length; ++index) {
41
- view[index] = wbout.charCodeAt(index) & 0xFF;
42
- }
43
-
44
- return buf;
45
- }
46
-
47
- function exportXLSX(params) {
48
- var $table = params.$table,
49
- options = params.options,
50
- columns = params.columns,
51
- datas = params.datas;
52
- var sheetName = options.sheetName,
53
- type = options.type,
54
- isHeader = options.isHeader,
55
- isFooter = options.isFooter,
56
- original = options.original,
57
- message = options.message,
58
- footerFilterMethod = options.footerFilterMethod;
59
- var colHead = {};
60
- var footList = [];
61
- var rowList = datas;
62
-
63
- if (isHeader) {
64
- columns.forEach(function (column) {
65
- colHead[column.id] = _xeUtils["default"].toString(original ? column.property : column.getTitle());
66
- });
67
- }
68
-
69
- if (isFooter) {
70
- var _$table$getTableData = $table.getTableData(),
71
- footerData = _$table$getTableData.footerData;
72
-
73
- var footers = footerFilterMethod ? footerData.filter(footerFilterMethod) : footerData;
74
- footers.forEach(function (rows) {
75
- var item = {};
76
- columns.forEach(function (column) {
77
- item[column.id] = getFooterCellValue($table, options, rows, column);
78
- });
79
- footList.push(item);
80
- });
81
- }
82
-
83
- var book = _xlsx["default"].utils.book_new();
84
-
85
- var sheet = _xlsx["default"].utils.json_to_sheet((isHeader ? [colHead] : []).concat(rowList).concat(footList), {
86
- skipHeader: true
87
- }); // 转换数据
88
-
89
-
90
- _xlsx["default"].utils.book_append_sheet(book, sheet, sheetName);
91
-
92
- var wbout = _xlsx["default"].write(book, {
93
- bookType: type,
94
- bookSST: false,
95
- type: 'binary'
96
- });
97
-
98
- var blob = new Blob([toBuffer(wbout)], {
99
- type: 'application/octet-stream'
100
- }); // 保存导出
101
-
102
- downloadFile(blob, options);
103
-
104
- if (message !== false) {
105
- _vxetable.modal.message({
106
- message: _vxetable.t('vxe.table.expSuccess'),
107
- status: 'success'
108
- });
109
- }
110
- }
111
-
112
- function downloadFile(blob, options) {
113
- if (window.Blob) {
114
- var filename = options.filename,
115
- type = options.type;
116
-
117
- if (navigator.msSaveBlob) {
118
- navigator.msSaveBlob(blob, "".concat(filename, ".").concat(type));
119
- } else {
120
- var linkElem = document.createElement('a');
121
- linkElem.target = '_blank';
122
- linkElem.download = "".concat(filename, ".").concat(type);
123
- linkElem.href = URL.createObjectURL(blob);
124
- document.body.appendChild(linkElem);
125
- linkElem.click();
126
- document.body.removeChild(linkElem);
127
- }
128
- } else {
129
- console.error(_vxetable.t('vxe.error.notExp'));
130
- }
131
- }
132
-
133
- function replaceDoubleQuotation(val) {
134
- return val.replace(/^"/, '').replace(/"$/, '');
135
- }
136
-
137
- function parseCsv(columns, content) {
138
- var list = content.split('\n');
139
- var fields = [];
140
- var rows = [];
141
-
142
- if (list.length) {
143
- var rList = list.slice(1);
144
- list[0].split(',').map(replaceDoubleQuotation);
145
- rList.forEach(function (r) {
146
- if (r) {
147
- var item = {};
148
- r.split(',').forEach(function (val, colIndex) {
149
- if (fields[colIndex]) {
150
- item[fields[colIndex]] = replaceDoubleQuotation(val);
151
- }
152
- });
153
- rows.push(item);
154
- }
155
- });
156
- }
157
-
158
- return {
159
- fields: fields,
160
- rows: rows
161
- };
162
- }
163
-
164
- function checkImportData(columns, fields, rows) {
165
- var tableFields = [];
166
- columns.forEach(function (column) {
167
- var field = column.property;
168
-
169
- if (field) {
170
- tableFields.push(field);
171
- }
172
- });
173
- return tableFields.every(function (field) {
174
- return fields.includes(field);
175
- });
176
- }
177
-
178
- function importXLSX(params) {
179
- var columns = params.columns,
180
- options = params.options,
181
- file = params.file;
182
- var $table = params.$table;
183
- var _importResolve = $table._importResolve;
184
- var fileReader = new FileReader();
185
-
186
- fileReader.onload = function (e) {
187
- var workbook = _xlsx["default"].read(e.target.result, {
188
- type: 'binary'
189
- });
190
-
191
- var csvData = _xlsx["default"].utils.sheet_to_csv(workbook.Sheets.Sheet1);
192
-
193
- var _parseCsv = parseCsv(columns, csvData),
194
- fields = _parseCsv.fields,
195
- rows = _parseCsv.rows;
196
-
197
- var status = checkImportData(columns, fields, rows);
198
-
199
- if (status) {
200
- $table.createData(rows).then(function (data) {
201
- if (options.mode === 'append') {
202
- $table.insertAt(data, -1);
203
- } else {
204
- $table.reloadData(data);
205
- }
206
- });
207
-
208
- if (options.message !== false) {
209
- _vxetable.modal.message({
210
- message: _xeUtils["default"].template(_vxetable.t('vxe.table.impSuccess'), [rows.length]),
211
- status: 'success'
212
- });
213
- }
214
- } else if (options.message !== false) {
215
- _vxetable.modal.message({
216
- message: _vxetable.t('vxe.error.impFields'),
217
- status: 'error'
218
- });
219
- }
220
-
221
- if (_importResolve) {
222
- _importResolve(status);
223
-
224
- $table._importResolve = null;
225
- }
226
- };
227
-
228
- fileReader.readAsBinaryString(file);
229
- }
230
-
231
- function handleImportEvent(params) {
232
- if (params.options.type === 'xlsx') {
233
- importXLSX(params);
234
- return false;
235
- }
236
- }
237
-
238
- function handleExportEvent(params) {
239
- if (params.options.type === 'xlsx') {
240
- exportXLSX(params);
241
- return false;
242
- }
243
- }
244
- /**
245
- * 基于 vxe-table 表格的增强插件,支持导出 xlsx 格式
246
- */
247
-
248
-
249
- var VXETablePluginExportXLSX = {
250
- install: function install(xtable) {
251
- var interceptor = xtable.interceptor;
252
- _vxetable = xtable;
253
- Object.assign(xtable.types, {
254
- xlsx: 1
255
- });
256
- interceptor.mixin({
257
- 'event.import': handleImportEvent,
258
- 'event.export': handleExportEvent
259
- });
260
- }
261
- };
262
- _exports.VXETablePluginExportXLSX = VXETablePluginExportXLSX;
263
-
264
- if (typeof window !== 'undefined' && window.VXETable) {
265
- window.VXETable.use(VXETablePluginExportXLSX);
266
- }
267
-
268
- var _default = VXETablePluginExportXLSX;
269
- _exports["default"] = _default;
1
+ (function (global, factory) {
2
+ if (typeof define === "function" && define.amd) {
3
+ define("vxe-table-plugin-export-xlsx-xhx", ["exports", "xe-utils", "xlsx"], factory);
4
+ } else if (typeof exports !== "undefined") {
5
+ factory(exports, require("xe-utils"), require("xlsx"));
6
+ } else {
7
+ var mod = {
8
+ exports: {}
9
+ };
10
+ factory(mod.exports, global.XEUtils, global.XLSX);
11
+ global.VXETablePluginExportXLSX = mod.exports.default;
12
+ }
13
+ })(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _xeUtils, _xlsx) {
14
+ "use strict";
15
+
16
+ Object.defineProperty(_exports, "__esModule", {
17
+ value: true
18
+ });
19
+ _exports["default"] = _exports.VXETablePluginExportXLSX = void 0;
20
+ _xeUtils = _interopRequireDefault(_xeUtils);
21
+ _xlsx = _interopRequireDefault(_xlsx);
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
23
+ /* eslint-disable no-unused-vars */
24
+
25
+ /* eslint-enable no-unused-vars */
26
+ var _vxetable;
27
+ function getCellLabel(column, cellValue) {
28
+ if (cellValue) {
29
+ switch (column.cellType) {
30
+ case 'string':
31
+ return _xeUtils["default"].toValueString(cellValue);
32
+ case 'number':
33
+ if (!isNaN(cellValue)) {
34
+ return Number(cellValue);
35
+ }
36
+ break;
37
+ default:
38
+ if (cellValue.length < 12 && !isNaN(cellValue)) {
39
+ return Number(cellValue);
40
+ }
41
+ break;
42
+ }
43
+ }
44
+ return cellValue;
45
+ }
46
+ function getFooterCellValue($table, opts, rows, column) {
47
+ var cellValue = _xeUtils["default"].toString(rows[$table.$getColumnIndex(column)]);
48
+ return cellValue;
49
+ }
50
+ function toBuffer(wbout) {
51
+ var buf = new ArrayBuffer(wbout.length);
52
+ var view = new Uint8Array(buf);
53
+ for (var index = 0; index !== wbout.length; ++index) {
54
+ view[index] = wbout.charCodeAt(index) & 0xFF;
55
+ }
56
+ return buf;
57
+ }
58
+ function exportXLSX(params) {
59
+ var $table = params.$table,
60
+ options = params.options,
61
+ columns = params.columns,
62
+ datas = params.datas;
63
+ var sheetName = options.sheetName,
64
+ type = options.type,
65
+ isHeader = options.isHeader,
66
+ isFooter = options.isFooter,
67
+ original = options.original,
68
+ message = options.message,
69
+ footerFilterMethod = options.footerFilterMethod;
70
+ var colHead = {};
71
+ var footList = [];
72
+ // const rowList = datas
73
+ if (isHeader) {
74
+ columns.forEach(function (column) {
75
+ colHead[column.id] = _xeUtils["default"].toString(original ? column.property : column.getTitle());
76
+ });
77
+ }
78
+ // 新增部分
79
+ var rowList = datas.map(function (item) {
80
+ var rest = {};
81
+ columns.forEach(function (column) {
82
+ rest[column.id] = getCellLabel(column, item[column.id]);
83
+ });
84
+ return rest;
85
+ });
86
+ if (isFooter) {
87
+ var _$table$getTableData = $table.getTableData(),
88
+ footerData = _$table$getTableData.footerData;
89
+ var footers = footerFilterMethod ? footerData.filter(footerFilterMethod) : footerData;
90
+ footers.forEach(function (rows) {
91
+ var item = {};
92
+ columns.forEach(function (column) {
93
+ item[column.id] = getFooterCellValue($table, options, rows, column);
94
+ });
95
+ footList.push(item);
96
+ });
97
+ }
98
+ var book = _xlsx["default"].utils.book_new();
99
+ var sheet = _xlsx["default"].utils.json_to_sheet((isHeader ? [colHead] : []).concat(rowList).concat(footList), {
100
+ skipHeader: true
101
+ });
102
+ // 转换数据
103
+ _xlsx["default"].utils.book_append_sheet(book, sheet, sheetName);
104
+ var wbout = _xlsx["default"].write(book, {
105
+ bookType: type,
106
+ bookSST: false,
107
+ type: 'binary'
108
+ });
109
+ var blob = new Blob([toBuffer(wbout)], {
110
+ type: 'application/octet-stream'
111
+ });
112
+ // 保存导出
113
+ downloadFile(blob, options);
114
+ if (message !== false) {
115
+ _vxetable.modal.message({
116
+ message: _vxetable.t('vxe.table.expSuccess'),
117
+ status: 'success'
118
+ });
119
+ }
120
+ }
121
+ function downloadFile(blob, options) {
122
+ if (window.Blob) {
123
+ var filename = options.filename,
124
+ type = options.type;
125
+ if (navigator.msSaveBlob) {
126
+ navigator.msSaveBlob(blob, "".concat(filename, ".").concat(type));
127
+ } else {
128
+ var linkElem = document.createElement('a');
129
+ linkElem.target = '_blank';
130
+ linkElem.download = "".concat(filename, ".").concat(type);
131
+ linkElem.href = URL.createObjectURL(blob);
132
+ document.body.appendChild(linkElem);
133
+ linkElem.click();
134
+ document.body.removeChild(linkElem);
135
+ }
136
+ } else {
137
+ console.error(_vxetable.t('vxe.error.notExp'));
138
+ }
139
+ }
140
+ function replaceDoubleQuotation(val) {
141
+ return val.replace(/^"/, '').replace(/"$/, '');
142
+ }
143
+ function parseCsv(columns, content) {
144
+ var list = content.split('\n');
145
+ var fields = [];
146
+ var rows = [];
147
+ if (list.length) {
148
+ var rList = list.slice(1);
149
+ list[0].split(',').map(replaceDoubleQuotation);
150
+ rList.forEach(function (r) {
151
+ if (r) {
152
+ var item = {};
153
+ r.split(',').forEach(function (val, colIndex) {
154
+ if (fields[colIndex]) {
155
+ item[fields[colIndex]] = replaceDoubleQuotation(val);
156
+ }
157
+ });
158
+ rows.push(item);
159
+ }
160
+ });
161
+ }
162
+ return {
163
+ fields: fields,
164
+ rows: rows
165
+ };
166
+ }
167
+ function checkImportData(columns, fields, rows) {
168
+ var tableFields = [];
169
+ columns.forEach(function (column) {
170
+ var field = column.property;
171
+ if (field) {
172
+ tableFields.push(field);
173
+ }
174
+ });
175
+ return tableFields.every(function (field) {
176
+ return fields.includes(field);
177
+ });
178
+ }
179
+ function importXLSX(params) {
180
+ var columns = params.columns,
181
+ options = params.options,
182
+ file = params.file;
183
+ var $table = params.$table;
184
+ var _importResolve = $table._importResolve;
185
+ var fileReader = new FileReader();
186
+ fileReader.onload = function (e) {
187
+ var workbook = _xlsx["default"].read(e.target.result, {
188
+ type: 'binary'
189
+ });
190
+ var csvData = _xlsx["default"].utils.sheet_to_csv(workbook.Sheets.Sheet1);
191
+ var _parseCsv = parseCsv(columns, csvData),
192
+ fields = _parseCsv.fields,
193
+ rows = _parseCsv.rows;
194
+ var status = checkImportData(columns, fields, rows);
195
+ if (status) {
196
+ $table.createData(rows).then(function (data) {
197
+ if (options.mode === 'append') {
198
+ $table.insertAt(data, -1);
199
+ } else {
200
+ $table.reloadData(data);
201
+ }
202
+ });
203
+ if (options.message !== false) {
204
+ _vxetable.modal.message({
205
+ message: _xeUtils["default"].template(_vxetable.t('vxe.table.impSuccess'), [rows.length]),
206
+ status: 'success'
207
+ });
208
+ }
209
+ } else if (options.message !== false) {
210
+ _vxetable.modal.message({
211
+ message: _vxetable.t('vxe.error.impFields'),
212
+ status: 'error'
213
+ });
214
+ }
215
+ if (_importResolve) {
216
+ _importResolve(status);
217
+ $table._importResolve = null;
218
+ }
219
+ };
220
+ fileReader.readAsBinaryString(file);
221
+ }
222
+ function handleImportEvent(params) {
223
+ if (params.options.type === 'xlsx') {
224
+ importXLSX(params);
225
+ return false;
226
+ }
227
+ }
228
+ function handleExportEvent(params) {
229
+ if (params.options.type === 'xlsx') {
230
+ exportXLSX(params);
231
+ return false;
232
+ }
233
+ }
234
+ /**
235
+ * 基于 vxe-table 表格的增强插件,支持导出 xlsx 格式
236
+ */
237
+ var VXETablePluginExportXLSX = {
238
+ install: function install(xtable) {
239
+ var interceptor = xtable.interceptor;
240
+ _vxetable = xtable;
241
+ Object.assign(xtable.types, {
242
+ xlsx: 1
243
+ });
244
+ interceptor.mixin({
245
+ 'event.import': handleImportEvent,
246
+ 'event.export': handleExportEvent
247
+ });
248
+ }
249
+ };
250
+ _exports.VXETablePluginExportXLSX = VXETablePluginExportXLSX;
251
+ if (typeof window !== 'undefined' && window.VXETable) {
252
+ window.VXETable.use(VXETablePluginExportXLSX);
253
+ }
254
+ var _default = VXETablePluginExportXLSX;
255
+ _exports["default"] = _default;
270
256
  });
package/dist/index.min.js CHANGED
@@ -1 +1 @@
1
- !function(e,t){if("function"==typeof define&&define.amd)define("vxe-table-plugin-export-xlsx",["exports","xe-utils","xlsx"],t);else if("undefined"!=typeof exports)t(exports,require("xe-utils"),require("xlsx"));else{var o={exports:{}};t(o.exports,e.XEUtils,e.XLSX),e.VXETablePluginExportXLSX=o.exports.default}}("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:this,function(e,h,y){"use strict";function t(e){return e&&e.__esModule?e:{default:e}}var w;function o(e){var i=e.$table,t=e.options,o=e.columns,n=e.datas,a=t.sheetName,r=t.type,s=t.isHeader,l=t.isFooter,u=t.original,f=t.message,c=t.footerFilterMethod,d={},p=[],v=n;if(s&&o.forEach(function(e){d[e.id]=h.default.toString(u?e.property:e.getTitle())}),l){var m=i.getTableData().footerData;(c?m.filter(c):m).forEach(function(a){var r={};o.forEach(function(e){var t,o,n;r[e.id]=(t=i,o=a,n=e,h.default.toString(o[t.$getColumnIndex(n)]))}),p.push(r)})}var x=y.default.utils.book_new(),g=y.default.utils.json_to_sheet((s?[d]:[]).concat(v).concat(p),{skipHeader:!0});y.default.utils.book_append_sheet(x,g,a);var b=y.default.write(x,{bookType:r,bookSST:!1,type:"binary"});!function(e,t){if(window.Blob){var o=t.filename,n=t.type;if(navigator.msSaveBlob)navigator.msSaveBlob(e,"".concat(o,".").concat(n));else{var a=document.createElement("a");a.target="_blank",a.download="".concat(o,".").concat(n),a.href=URL.createObjectURL(e),document.body.appendChild(a),a.click(),document.body.removeChild(a)}}else console.error(w.t("vxe.error.notExp"))}(new Blob([function(e){for(var t=new ArrayBuffer(e.length),o=new Uint8Array(t),n=0;n!==e.length;++n)o[n]=255&e.charCodeAt(n);return t}(b)],{type:"application/octet-stream"}),t),!1!==f&&w.modal.message({message:w.t("vxe.table.expSuccess"),status:"success"})}function d(e){return e.replace(/^"/,"").replace(/"$/,"")}function n(e){var l=e.columns,u=e.options,t=e.file,f=e.$table,c=f._importResolve,o=new FileReader;o.onload=function(e){var t,o,n=y.default.read(e.target.result,{type:"binary"}),a=function(e){var t=e.split("\n"),n=[],a=[];if(t.length){var o=t.slice(1);t[0].split(",").map(d),o.forEach(function(e){if(e){var o={};e.split(",").forEach(function(e,t){n[t]&&(o[n[t]]=d(e))}),a.push(o)}})}return{fields:n,rows:a}}(y.default.utils.sheet_to_csv(n.Sheets.Sheet1)),r=a.fields,i=a.rows,s=(t=r,o=[],l.forEach(function(e){var t=e.property;t&&o.push(t)}),o.every(function(e){return t.includes(e)}));s?(f.createData(i).then(function(e){"append"===u.mode?f.insertAt(e,-1):f.reloadData(e)}),!1!==u.message&&w.modal.message({message:h.default.template(w.t("vxe.table.impSuccess"),[i.length]),status:"success"})):!1!==u.message&&w.modal.message({message:w.t("vxe.error.impFields"),status:"error"}),c&&(c(s),f._importResolve=null)},o.readAsBinaryString(t)}function a(e){if("xlsx"===e.options.type)return n(e),!1}function r(e){if("xlsx"===e.options.type)return o(e),!1}Object.defineProperty(e,"__esModule",{value:!0}),e.default=e.VXETablePluginExportXLSX=void 0,h=t(h),y=t(y);var i={install:function(e){var t=e.interceptor;w=e,Object.assign(e.types,{xlsx:1}),t.mixin({"event.import":a,"event.export":r})}};e.VXETablePluginExportXLSX=i,"undefined"!=typeof window&&window.VXETable&&window.VXETable.use(i);var s=i;e.default=s});
1
+ !function(e,t){"function"==typeof define&&define.amd?define("vxe-table-plugin-export-xlsx-xhx",["exports","xe-utils","xlsx"],t):"undefined"!=typeof exports?t(exports,require("xe-utils"),require("xlsx")):(t((t={exports:{}}).exports,e.XEUtils,e.XLSX),e.VXETablePluginExportXLSX=t.exports.default)}("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:this,function(e,p,m){"use strict";function t(e){return e&&e.__esModule?e:{default:e}}var x;function n(e){var o=e.$table,t=e.options,a=e.columns,e=e.datas,n=t.sheetName,r=t.type,i=t.isHeader,s=t.isFooter,l=t.original,u=t.message,c=t.footerFilterMethod,f={},d=[],e=(i&&a.forEach(function(e){f[e.id]=p.default.toString(l?e.property:e.getTitle())}),e.map(function(t){var n={};return a.forEach(function(e){n[e.id]=function(e,t){if(t)switch(e.cellType){case"string":return p.default.toValueString(t);case"number":if(isNaN(t))break;return Number(t);default:if(t.length<12&&!isNaN(t))return Number(t)}return t}(e,t[e.id])}),n})),c=(s&&(s=o.getTableData().footerData,(c?s.filter(c):s).forEach(function(t){var n={};a.forEach(function(e){n[e.id]=p.default.toString(t[o.$getColumnIndex(e)])}),d.push(n)})),m.default.utils.book_new()),s=m.default.utils.json_to_sheet((i?[f]:[]).concat(e).concat(d),{skipHeader:!0}),i=(m.default.utils.book_append_sheet(c,s,n),m.default.write(c,{bookType:r,bookSST:!1,type:"binary"})),e=new Blob([function(e){for(var t=new ArrayBuffer(e.length),n=new Uint8Array(t),o=0;o!==e.length;++o)n[o]=255&e.charCodeAt(o);return t}(i)],{type:"application/octet-stream"}),s=t;window.Blob?(n=s.filename,s=s.type,navigator.msSaveBlob?navigator.msSaveBlob(e,"".concat(n,".").concat(s)):((c=document.createElement("a")).target="_blank",c.download="".concat(n,".").concat(s),c.href=URL.createObjectURL(e),document.body.appendChild(c),c.click(),document.body.removeChild(c))):console.error(x.t("vxe.error.notExp")),!1!==u&&x.modal.message({message:x.t("vxe.table.expSuccess"),status:"success"})}function c(e){return e.replace(/^"/,"").replace(/"$/,"")}function o(e){var i=e.columns,s=e.options,t=e.file,l=e.$table,u=l._importResolve,e=new FileReader;e.onload=function(e){var o,t,n,a,e=m.default.read(e.target.result,{type:"binary"}),e=m.default.utils.sheet_to_csv(e.Sheets.Sheet1),e=(e=(e=e).split("\n"),o=[],t=[],e.length&&(r=e.slice(1),e[0].split(",").map(c),r.forEach(function(e){var n;e&&(n={},e.split(",").forEach(function(e,t){o[t]&&(n[o[t]]=c(e))}),t.push(n))})),{fields:o,rows:t}),r=e.rows,e=(n=e.fields,a=[],i.forEach(function(e){e=e.property;e&&a.push(e)}),a.every(function(e){return n.includes(e)}));e?(l.createData(r).then(function(e){"append"===s.mode?l.insertAt(e,-1):l.reloadData(e)}),!1!==s.message&&x.modal.message({message:p.default.template(x.t("vxe.table.impSuccess"),[r.length]),status:"success"})):!1!==s.message&&x.modal.message({message:x.t("vxe.error.impFields"),status:"error"}),u&&(u(e),l._importResolve=null)},e.readAsBinaryString(t)}function a(e){if("xlsx"===e.options.type)return o(e),!1}function r(e){if("xlsx"===e.options.type)return n(e),!1}Object.defineProperty(e,"__esModule",{value:!0}),e.default=e.VXETablePluginExportXLSX=void 0,p=t(p),m=t(m);var i={install:function(e){var t=e.interceptor;x=e,Object.assign(e.types,{xlsx:1}),t.mixin({"event.import":a,"event.export":r})}};e.VXETablePluginExportXLSX=i,"undefined"!=typeof window&&window.VXETable&&window.VXETable.use(i);e.default=i});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vxe-table-plugin-export-xlsx-xhx",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "description": "基于 vxe-table 表格的增强插件,支持导出 xlsx 格式",
5
5
  "scripts": {
6
6
  "lib": "gulp build"
@@ -16,41 +16,41 @@
16
16
  "jsdelivr": "dist/index.min.js",
17
17
  "typings": "index.ts",
18
18
  "devDependencies": {
19
- "@babel/core": "^7.4.4",
20
- "@babel/plugin-transform-runtime": "^7.4.4",
21
- "@babel/preset-env": "^7.4.4",
22
- "@babel/runtime": "^7.4.4",
23
- "@typescript-eslint/eslint-plugin": "^2.3.1",
24
- "@typescript-eslint/parser": "^2.3.1",
25
- "del": "^5.1.0",
26
- "eslint": "^5.15.1",
27
- "eslint-config-prettier": "^6.3.0",
28
- "eslint-config-standard": "^12.0.0",
29
- "eslint-friendly-formatter": "^4.0.1",
30
- "eslint-plugin-import": "^2.16.0",
31
- "eslint-plugin-node": "^8.0.1",
32
- "eslint-plugin-prettier": "^3.1.1",
33
- "eslint-plugin-promise": "^4.0.1",
34
- "eslint-plugin-standard": "^4.0.0",
35
- "eslint-plugin-typescript": "^0.14.0",
36
- "gulp": "^4.0.2",
37
- "gulp-autoprefixer": "^6.1.0",
38
- "gulp-babel": "^8.0.0",
39
- "gulp-clean-css": "^4.2.0",
40
- "gulp-concat": "^2.6.1",
41
- "gulp-rename": "^1.4.0",
42
- "gulp-replace": "^1.0.0",
43
- "gulp-sass": "^4.0.2",
44
- "gulp-sourcemaps": "^2.6.5",
45
- "gulp-typescript": "^5.0.1",
46
- "gulp-uglify": "^3.0.2",
47
- "markdown-doctest": "^0.9.1",
48
- "prettier": "^1.18.2",
49
- "typescript": "^3.8.3",
50
- "vue": "^2.6.11",
51
- "vxe-table": "^2.8.33",
52
- "xe-utils": "^2.4.2",
53
- "xlsx": "^0.15.6"
19
+ "@babel/core": "7.4.4",
20
+ "@babel/plugin-transform-runtime": "7.4.4",
21
+ "@babel/preset-env": "7.4.4",
22
+ "@babel/runtime": "7.4.4",
23
+ "@typescript-eslint/eslint-plugin": "2.3.1",
24
+ "@typescript-eslint/parser": "2.3.1",
25
+ "del": "5.1.0",
26
+ "eslint": "5.15.1",
27
+ "eslint-config-prettier": "6.3.0",
28
+ "eslint-config-standard": "12.0.0",
29
+ "eslint-friendly-formatter": "4.0.1",
30
+ "eslint-plugin-import": "2.16.0",
31
+ "eslint-plugin-node": "8.0.1",
32
+ "eslint-plugin-prettier": "3.1.1",
33
+ "eslint-plugin-promise": "4.0.1",
34
+ "eslint-plugin-standard": "4.0.0",
35
+ "eslint-plugin-typescript": "0.14.0",
36
+ "gulp": "4.0.2",
37
+ "gulp-autoprefixer": "6.1.0",
38
+ "gulp-babel": "8.0.0",
39
+ "gulp-clean-css": "4.2.0",
40
+ "gulp-concat": "2.6.1",
41
+ "gulp-rename": "1.4.0",
42
+ "gulp-replace": "1.0.0",
43
+ "gulp-sass": "4.0.2",
44
+ "gulp-sourcemaps": "2.6.5",
45
+ "gulp-typescript": "5.0.1",
46
+ "gulp-uglify": "3.0.2",
47
+ "markdown-doctest": "0.9.1",
48
+ "prettier": "1.18.2",
49
+ "typescript": "3.8.3",
50
+ "vue": "2.6.11",
51
+ "vxe-table": "2.9.9",
52
+ "xe-utils": "2.4.5",
53
+ "xlsx": "0.15.6"
54
54
  },
55
55
  "peerDependencies": {
56
56
  "vxe-table": ">=2.8.0",