Files
vxe-table-plugin-export-xlsx/dist/index.min.js
xuliangzhan 3f4bb6a523 优化导出
2019-11-13 19:20:55 +08:00

1 line
3.4 KiB
JavaScript

!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 n={exports:{}};t(n.exports,e.XEUtils,e.XLSX),e.VXETablePluginExportXLSX=n.exports.default}}(this,function(e,g,y){"use strict";function t(e){return e&&e.__esModule?e:{default:e}}function n(e){var o=e.$table,t=e.options,r=e.columns,n=e.datas,a=t.sheetName,i=t.type,s=t.isHeader,l=t.isFooter,u=t.original,c=t.message,f=t.footerFilterMethod,d={},p=[];s&&r.forEach(function(e){d[e.id]=g.default.toString(u?e.property:e.getTitle())});var v=n.map(function(a,i){var s={};return r.forEach(function(e,t){var n,o=e.property,r="index"===e.type;n=!u||r?r?e.indexMethod?e.indexMethod({row:a,rowIndex:i,column:e,columnIndex:t}):i+1:a[e.id]:g.default.get(a,o),s[e.id]=n}),s});if(l){var x=o.footerData;(f?x.filter(f):x).forEach(function(t){var n={};r.forEach(function(e){n[e.id]=t[o.getColumnIndex(e)]||""}),p.push(n)})}var m=y.default.utils.book_new(),h=y.default.utils.json_to_sheet((s?[d]:[]).concat(v).concat(p),{skipHeader:!0});y.default.utils.book_append_sheet(m,h,a);var b=y.default.write(m,{bookType:i,bookSST:!1,type:"binary"});!function(e,t){if(window.Blob){var n=t.filename,o=t.type;if(navigator.msSaveBlob)navigator.msSaveBlob(e,"".concat(n,".").concat(o));else{var r=document.createElement("a");r.target="_blank",r.download="".concat(n,".").concat(o),r.href=URL.createObjectURL(e),document.body.appendChild(r),r.click(),document.body.removeChild(r)}}else console.error(w("vxe.error.notExp"))}(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}(b)],{type:"application/octet-stream"}),t),!1!==c&&o.$XModal.message({message:w("vxe.table.expSuccess"),status:"success"})}function f(e){return e.replace(/^"/,"").replace(/"$/,"")}function o(e){var i=e.$table,s=e.columns,l=e.options,t=e.file,u=i._importCallback,c=i._importResolve,n=new FileReader;n.onload=function(e){var t=y.default.read(e.target.result,{type:"binary"}),n=function(e,t){var n=t.split("\n"),o=[],r=[];if(n.length){var a=n.slice(1);n[0].split(",").forEach(function(e){var t=f(e);t&&o.push(t)}),a.forEach(function(e){if(e){var n={};e.split(",").forEach(function(e,t){n[o[t]]=f(e)}),r.push(n)}})}return{fields:o,rows:r}}(0,y.default.utils.sheet_to_csv(t.Sheets.Sheet1)),o=n.fields,r=n.rows,a=function(e,t){var n=[];return e.forEach(function(e){var t=e.property;t&&n.push(t)}),n.every(function(e){return t.includes(e)})}(s,o);a?(i.createData(r).then(function(e){"append"===l.mode?i.insertAt(e,-1):i.reloadData(e)}),!1!==l.message&&i.$XModal.message({message:w("vxe.table.impSuccess"),status:"success"})):!1!==l.message&&i.$XModal.message({message:w("vxe.error.impFields"),status:"error"}),c?(c(a),i._importResolve=null):u&&(u(a),i._importCallback=null)},n.readAsBinaryString(t)}function r(e){if("xlsx"===e.options.type)return o(e),!1}function a(e){if("xlsx"===e.options.type)return n(e),!1}Object.defineProperty(e,"__esModule",{value:!0}),e.default=e.VXETablePluginExportXLSX=void 0,g=t(g),y=t(y);var i={install:function(e){Object.assign(e.types,{xlsx:1}),e.interceptor.mixin({"event.import":r,"event.export":a}),i.t=e.t}};function w(e){if(i.t)return i.t(e)}e.VXETablePluginExportXLSX=i,"undefined"!=typeof window&&window.VXETable&&window.VXETable.use(i);var s=i;e.default=s});