1 |
- "use strict";function _toConsumableArray(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e<t.length;e++)n[e]=t[e];return n}return Array.from(t)}!function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)}(function(l){function n(t,e){this.element=t,this.settings=l.extend({},a,e),this._defaults=a,this._name=r,a=this.settings,this.init()}var r="excelPreview",a={height:500};function s(t){var e=[];if(0==Object.keys(t).length||!t["!ref"])return{columns:[],data:[]};for(var n=XLSX.utils.decode_range(t["!ref"]),r=void 0,a=n.s.r,r=n.s.c;r<=n.e.c;++r){var i=t[XLSX.utils.encode_cell({c:r,r:a})];e.push({field:"column_"+r,title:"column_"+r})}for(var o=[],l=n.s.r;l<=n.e.r;++l){for(var s={},c=n.s.c;c<=n.e.c;++c){i=t[XLSX.utils.encode_cell({c:c,r:l})];s["column_"+c]=XLSX.utils.format_cell(i)}0<Object.values(s).join("").length&&o.push(s)}return{columns:e,data:o}}function i(t,i){t=t["!merges"];t&&t.forEach(function(t,e){var n,r,a;t=t,n=i,r=Math.abs(t.e.r-t.s.r+1),a=Math.abs(t.e.c-t.s.c+1),n.bootstrapTable("mergeCells",{index:t.s.r,field:"column_"+t.s.c,rowspan:r,colspan:a})})}function o(t,e){var n,r,a=t["!ref"].split(":"),i=a[0],o=a[1];for(n in t)if(i<=n&&n<=o){l=n,s=i,s=CUSTOM_UTIL.splitRC(s);var l={r:(l=CUSTOM_UTIL.splitRC(l)).c-s.c,c:CUSTOM_UTIL.computeR(l.r,s.r)},s=t[n].s;if(!s)return;l=l,s=s,r=(r=e).find("tbody").find("tr:eq("+l.r+")").find("td:eq("+l.c+")"),s.font&&(r.css("fontWeight",s.font.bold?"bold":"normal"),s.font.color)&&(s.font.color.rgb="FFFFFF"==s.font.color.rgb?"FF000000":s.font.color.rgb,r.css("color",CUSTOM_UTIL.rgbaToRgb(s.font.color.rgb))),s.fill&&s.fill.fgColor&&r.css("backgroundColor",CUSTOM_UTIL.rgbaToRgb(s.fill.fgColor)),s.alignment&&s.alignment.horizontal&&r.css("textAlign",{bottom:"left",center:"center",top:"right"}[s.alignment.horizontal])}}function c(t,e,n){var r=t.html(),t=(n.find("li").removeClass("active"),t.parent("li").addClass("active"),l('<div class="table-container"><table></table></div>'));n.next("div.tab-content").find(".tab-pane").empty().append(t),n=r,r=e,e=t.find("table"),r=r.Sheets[n],n={height:a.height,showHeader:!1,classes:"table table-bordered"},t=s(r),l.extend(n,t),e.bootstrapTable(n),0<Object.keys(r).length&&r["!ref"]&&(o(r,e),i(r,e))}n.prototype={constructor:n,init:function(){var e=this,t=l(e.element).prev("input[type=file]"),n=t.data("fileinput").namespace;t.fileinput(e.settings).on("change",function(t){e.excelPreview(t)}),t.on("change"+n,function(t){e.excelPreview(t)})},excelPreview:function(t){var i,o,e;return i=t,o=this.element,0!=(t=i.target.files).length&&((e=new FileReader).onload=function(t){try{var e=t.target.result,n=XLSX.read(e,{type:"binary",cellStyles:!0})}catch(t){return void console.log("文件类型不正确")}var r,a,t=n.SheetNames;e=t,a=n,l(r=o).empty().append('<div class="box box-default">\n <div class="excel-box">\n <ul class="nav nav-tabs" role="tablist">\n </ul>\n <div class="tab-content" >\n <div role="tabpanel" class="tab-pane active">\n \n </div>\n </div>\n </div>\n </div>'),e.forEach(function(t){var e=l(r).find(".nav-tabs"),t=l('<li role="presentation"><a role="tab" data-toggle="tab">'+t+"</a></li>");t.find("a").on("click",function(t){c(l(t.target),a,e)}),e.append(t),c(e.find(" li:first > a"),a,e),e.find("li:first").addClass("active")}),l(i.target).data("excel-data",s(n.Sheets[t[0]])),l(i.target).trigger("excel-data-change")},e.readAsBinaryString(t[0])),l(this.element).prev("input[type=file]").fileinput("refresh"),!0}},l.fn[r]=function(e){return e=l.extend(!0,{},a,e),this.each(function(){var t=l(this);l.data(t,"plugin_"+r)||l.data(t,"plugin_"+r,new n(this,e))})},l.fn[r].defaults=a,l.fn[r].Plugin=n});var CUSTOM_UTIL=function(){function n(t){for(var e=[].concat(_toConsumableArray(t)),n=0,r=0;r<e.length;r++)n+=Math.pow(26,r)*(e[r].charCodeAt()-"A".charCodeAt());return n}return{rgbaToRgb:function(t){var e;return t&&/^([0-9a-fA-f]{8})$/.test(t)?(e=parseInt(t.substring(0,2),16),"rgba("+parseInt(t.substring(2,4),16)+","+parseInt(t.substring(4,6),16)+","+parseInt(t.substring(6,8),16)+","+e+")"):"rgba(255, 255, 255, 0)"},splitRC:function(t){for(var e=[].concat(_toConsumableArray(t)),n=0,n=0;n<e.length&&!/^([1-9]*)$/.test(e[n]);n++);return n<e.length?{c:Number(t.substring(n)),r:t.substring(0,n)}:{r:0,c:t.substring(0,n)}},computeR:function(t,e){return n(t)-n(e)}}}();
|