You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 lines
6.2 KiB
1 lines
6.2 KiB
function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}!function(e,t){"function"==typeof define&&define.amd?define("vxe-table-plugin-export-xlsx",["exports","xe-utils","exceljs"],t):"undefined"!=typeof exports?t(exports,require("xe-utils"),require("exceljs")):(t((t={exports:{}}).exports,e.XEUtils,e.ExcelJS),e.VXETablePluginExportXLSX=t.exports.default)}("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:this,function(e,M,$){"use strict";var t;function l(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return l=function(){return e},e}Object.defineProperty(e,"__esModule",{value:!0}),e.default=e.VXETablePluginExportXLSX=void 0,M=(t=M)&&t.__esModule?t:{default:t},$=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==_typeof(e)&&"function"!=typeof e)return{default:e};var t=l();if(t&&t.has(e))return t.get(e);var o,n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(o in e){var a;Object.prototype.hasOwnProperty.call(e,o)&&((a=r?Object.getOwnPropertyDescriptor(e,o):null)&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o])}n.default=e,t&&t.set(e,n);return n}($);var B="f8f8f9",P="606266",o="thin",n="e8eaec";function N(e,t){if(t)switch(e.cellType){case"string":return M.default.toString(t);case"number":if(!isNaN(t))return Number(t);break;default:if(t.length<12&&!isNaN(t))return Number(t)}return t}function R(e,t){t&&(e.height=M.default.floor(.75*t,12))}function V(e,t){e.protection={locked:!1},e.alignment={vertical:"middle",horizontal:t||"left"}}function A(){return{top:{style:o,color:{argb:n}},left:{style:o,color:{argb:n}},bottom:{style:o,color:{argb:n}},right:{style:o,color:{argb:n}}}}function r(i){var r=i.$table,s=i.options,c=i.columns,t=i.colgroups,o=i.datas,e=r.$vxe,a=r.rowHeight,l=r.headerAlign,u=r.align,f=r.footerAlign,d=e.modal,p=e.t,n=s.message,g=s.sheetName,m=s.isHeader,h=s.isFooter,b=s.isMerge,e=s.isColgroup,y=s.original,v=s.useStyle,x=s.sheetMethod,w=!1!==n,n=r.getMergeCells(),E=[],k=[],S=[],C=[],O=0,j={};c.forEach(function(e){var t=e.id,o=e.property,n=e.renderWidth;j[t]=y?o:e.getTitle(),S.push({key:t,width:M.default.ceil(n/8,1)})}),m&&(e&&!y&&t?t.forEach(function(e,a){var l={};c.forEach(function(e){l[e.id]=null}),e.forEach(function(e){var t=e._colSpan,o=e._rowSpan,n=function e(t){var o=t.childNodes;return o&&o.length?e(o[0]):t}(e),r=c.indexOf(n);l[n.id]=y?n.property:e.getTitle(),(1<t||1<o)&&C.push({s:{r:a,c:r},e:{r:a+o-1,c:r+t-1}})}),E.push(l)}):E.push(j),O+=E.length),b&&!y&&n.forEach(function(e){var t=e.row,o=e.rowspan,n=e.col,e=e.colspan;C.push({s:{r:t+O,c:n},e:{r:t+O+o-1,c:n+e-1}})});var _,T=o.map(function(t){var o={};return c.forEach(function(e){o[e.id]=N(e,t[e.id])}),o});O+=T.length,h&&(X=r.getTableData().footerData,n=X,X=(_=s.footerFilterMethod)?n.filter(function(e,t){return _({items:e,$rowIndex:t})}):n,n=r.getMergeFooterItems(),b&&!y&&n.forEach(function(e){var t=e.row,o=e.rowspan,n=e.col,e=e.colspan;C.push({s:{r:t+O,c:n},e:{r:t+O+o-1,c:n+e-1}})}),X.forEach(function(t){var o={};c.forEach(function(e){o[e.id]=N(e=e,t[r.getVMColumnIndex(e)])}),k.push(o)}));var X=function(){var e=new $.Workbook,n=e.addWorksheet(g);e.creator="vxe-table",n.columns=S,m&&n.addRows(E).forEach(function(e){v&&R(e,a),e.eachCell(function(e){var t=n.getColumn(e.col),o=r.getColumnById(t.key),t=o.headerAlign,o=o.align;V(e,t||o||l||u),v&&Object.assign(e,{font:{bold:!0,color:{argb:P}},fill:{type:"pattern",pattern:"solid",fgColor:{argb:B}},border:A()})})}),n.addRows(T).forEach(function(e){v&&R(e,a),e.eachCell(function(e){var t=n.getColumn(e.col);V(e,r.getColumnById(t.key).align||u),v&&Object.assign(e,{font:{color:{argb:P}},border:A()})})}),h&&n.addRows(k).forEach(function(e){v&&R(e,a),e.eachCell(function(e){var t=n.getColumn(e.col),o=r.getColumnById(t.key),t=o.footerAlign,o=o.align;V(e,t||o||f||u),v&&Object.assign(e,{font:{color:{argb:P}},border:A()})})}),v&&x&&x({options:s,workbook:e,worksheet:n,columns:c,colgroups:t,datas:o,$table:r}),C.forEach(function(e){var t=e.s,e=e.e;n.mergeCells(t.r+1,t.c+1,e.r+1,e.c+1)}),e.xlsx.writeBuffer().then(function(e){var t,o,n,r,a,l=new Blob([e],{type:"application/octet-stream"});o=l,n=s,r=(t=i).$table.$vxe,a=r.modal,e=r.t,l=n.message,t=n.filename,r=n.type,n=!1!==l,window.Blob?navigator.msSaveBlob?navigator.msSaveBlob(o,"".concat(t,".").concat(r)):((l=document.createElement("a")).target="_blank",l.download="".concat(t,".").concat(r),l.href=URL.createObjectURL(o),document.body.appendChild(l),l.click(),document.body.removeChild(l)):n&&a.alert({message:e("vxe.error.notExp"),status:"error"}),w&&(d.close("xlsx"),d.message({message:p("vxe.table.expSuccess"),status:"success"}))})};w?(d.message({id:"xlsx",message:p("vxe.table.expLoading"),status:"loading",duration:-1}),setTimeout(X,1500)):X()}function d(e){var t=e.$table,o=e.options,n=t.$vxe,e=t._importReject,t=!1!==o.message,o=n.modal,n=n.t;t&&o.message({message:n("vxe.error.impFields"),status:"error"}),e&&e({status:!1})}function a(a){var l=a.$table,o=a.columns,i=a.options,e=a.file,t=l.$vxe,s=l._importResolve,c=t.modal,u=t.t,f=!1!==i.message,t=new FileReader;t.onerror=function(){d(a)},t.onload=function(e){var r=[];o.forEach(function(e){e=e.property;e&&r.push(e)});var t=new $.Workbook,e=e.target;e?t.xlsx.load(e.result).then(function(e){var n,t,o=e.worksheets[0];o?(e=o.getSheetValues(),o=M.default.findIndexOf(e,function(e){return e&&0<e.length}),n=e[o],(t=r,n.some(function(e){return-1<t.indexOf(e)}))?(o=e.slice(o).map(function(e){var o={};e.forEach(function(e,t){o[n[t]]=e});var t={};return r.forEach(function(e){t[e]=M.default.isUndefined(o[e])?null:o[e]}),t}),l.createData(o).then(function(e){e="insert"===i.mode?l.insertAt(e,-1):l.reloadData(e);return e.then(function(){s&&s({status:!0})})}),f&&c.message({message:u("vxe.table.impSuccess",[o.length]),status:"success"})):d(a)):d(a)}):d(a)},t.readAsArrayBuffer(e)}function i(e){if("xlsx"===e.options.type)return a(e),!1}function s(e){if("xlsx"===e.options.type)return r(e),!1}var c={install:function(e){var t=e.interceptor;e.setup({export:{types:{xlsx:0}}}),t.mixin({"event.import":i,"event.export":s})}};e.VXETablePluginExportXLSX=c,"undefined"!=typeof window&&window.VXETable&&window.VXETable.use&&window.VXETable.use(c),e.default=c});
|