| | |
| | | }
|
| | | })(jQuery, window, document, GLOBAL);
|
| | |
|
| | | // 导出报表
|
| | | ;(function($, window, document, gl, undefined) {
|
| | | // 定义testVal的命名空间
|
| | | gl.namespace('expExcel');
|
| | | var ExpExcel = function() {
|
| | | this.thead = ''; // 表格的头部
|
| | | this.tbody = ''; // 表格的内容
|
| | | this.normal = 1; // 是否为通用的导出
|
| | | this.dataBreak = ''; // 数据分割符
|
| | | this.pageNames = ''; // 工作簿名称
|
| | | this.pageBreak = ''; // 工作簿分隔符
|
| | | this.form = '';
|
| | | this.form = this.initForm();
|
| | | };
|
| | | var prop = ExpExcel.prototype;
|
| | | |
| | | // 初始化
|
| | | prop._init = function(obj) {
|
| | | var defaults = {
|
| | | thead: [],
|
| | | tbody: [],
|
| | | normal: 1,
|
| | | dataBreak: '&',
|
| | | pageNames: ['数据表格'],
|
| | | pageBreak: '$'
|
| | | };
|
| | | |
| | | // 合并对象
|
| | | var opts = $.extend({}, defaults, obj | {});
|
| | |
|
| | | this._setThead(obj.thead, opts.pageBreak, opts.dataBreak);
|
| | | this._setTbody(obj.tbody, opts.pageBreak, opts.dataBreak);
|
| | | this._setPageNames(opts.pageNames, opts.pageBreak);
|
| | |
|
| | | this.dataBreak = opts.dataBreak;
|
| | | this.pageBreak = opts.pageBreak;
|
| | | this.normal = opts.normal;
|
| | | |
| | | this.form = this.initForm();
|
| | | this._setForm();
|
| | | };
|
| | | |
| | | // 设置页面中的元素
|
| | | prop._setForm = function() {
|
| | | var ele = $('#exp_container');
|
| | | // 创建容器
|
| | | if(ele.length == 0) {
|
| | | $('body').append($('<div id="exp_container"></div>'));
|
| | | }
|
| | | ele = $('#exp_container');
|
| | | console.log(ele.length);
|
| | | // 更新内容
|
| | | ele.text('');
|
| | |
|
| | | var form = $('<form id="exp_excel" action="ExportTable.servlet" method="post"></form>');
|
| | |
|
| | | var thead = $('<input type="hidden" id="exp_thead" name="exp_thead" value=""/>');
|
| | | var tbody = $('<input type="hidden" id="exp_tbody" name="exp_tbody" value=""/>');
|
| | | var normal = $('<input type="hidden" id="exp_normal" name="exp_normal" value=""/>');
|
| | | var dataBreak = $('<input type="hidden" id="exp_data_break" name="exp_data_break" value=""/>');
|
| | | var pageNames = $('<input type="hidden" id="exp_page_names" name="exp_page_names" value=""/>');
|
| | | var pageBreak = $('<input type="hidden" id="exp_page_break" name="exp_page_break" value=""/>');
|
| | |
|
| | | thead.val(this.thead);
|
| | | tbody.val(this.tbody);
|
| | | normal.val(this.normal);
|
| | | dataBreak.val(this.dataBreak);
|
| | | pageNames.val(this.pageNames);
|
| | | pageBreak.val(this.pageBreak);
|
| | | |
| | | form.append(thead);
|
| | | form.append(tbody);
|
| | | form.append(normal);
|
| | | form.append(dataBreak);
|
| | | form.append(pageNames);
|
| | | form.append(pageBreak);
|
| | | |
| | | ele.append(form);
|
| | | this.form = form;
|
| | | };
|
| | |
|
| | | // 设置表格头部的值
|
| | | prop._setThead = function(thead, pageBreak, dataBreak) {
|
| | | var arr = [];
|
| | | // 数据分割
|
| | | for(var i=0; i<thead.length; i++) {
|
| | | var _arr = thead[i].join(dataBreak);
|
| | | arr.push(_arr)
|
| | | }
|
| | | // 工作簿分割
|
| | | var str = arr.join(pageBreak);
|
| | | this.thead = str;
|
| | | };
|
| | |
|
| | | // 设置表格内容
|
| | | prop._setTbody = function(tbody, pageBreak, dataBreak) {
|
| | | var arr = [];
|
| | | // 数据分割
|
| | | for(var i=0; i<tbody.length; i++) {
|
| | | var _arr = tbody[i].join(dataBreak);
|
| | | arr.push(_arr)
|
| | | }
|
| | | // 工作簿分割
|
| | | var str = arr.join(pageBreak);
|
| | | this.tbody = str;
|
| | | };
|
| | |
|
| | | // 设置工作簿内容
|
| | | prop._setPageNames = function(pageNames, pageBreak) {
|
| | | var str = pageNames.join(pageBreak);
|
| | | this.pageNames = str;
|
| | | };
|
| | | |
| | | // 初始化form
|
| | | prop.initForm = function() {
|
| | | this.form = '12345';
|
| | | };
|
| | |
|
| | | // 导出表格
|
| | | prop.xls = function(obj) {
|
| | |
|
| | | this._init(obj); // 初始化内容
|
| | | // 导出内容
|
| | | if(this.form == '12345') {
|
| | | alert('没有检测到form表单')
|
| | | }else {
|
| | | this.form.submit();
|
| | | }
|
| | | };
|
| | | |
| | | |
| | | var expExcel = new ExpExcel();
|
| | | console.log(expExcel);
|
| | | // 绑定导出数据对象
|
| | | GLOBAL.expExcel = expExcel; |
| | | })(jQuery, window, document, GLOBAL);
|
| | |
|
| | | // 生成阿里图标的元素
|
| | | function create_ali_font(cla, color, data) {
|
| | | var i = $('<i class="icon iconfont"></i>');
|