From a3e0ff8aab80c2a9425d4ccb66c862df957dcf2f Mon Sep 17 00:00:00 2001
From: hdw <496960745@qq.com>
Date: 星期四, 06 十二月 2018 14:29:09 +0800
Subject: [PATCH] 导出数据
---
gx_tieta/WebRoot/temp.html | 31 ++++++----
gx_tieta/WebRoot/pages/js/common.js | 137 +++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 155 insertions(+), 13 deletions(-)
diff --git a/gx_tieta/WebRoot/pages/js/common.js b/gx_tieta/WebRoot/pages/js/common.js
index ff2da15..5a80746 100644
--- a/gx_tieta/WebRoot/pages/js/common.js
+++ b/gx_tieta/WebRoot/pages/js/common.js
@@ -546,6 +546,143 @@
}
})(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;
+ };
+
+ // 鍒濆鍖杅orm
+ 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>');
diff --git a/gx_tieta/WebRoot/temp.html b/gx_tieta/WebRoot/temp.html
index 01f4f8e..6f47c04 100644
--- a/gx_tieta/WebRoot/temp.html
+++ b/gx_tieta/WebRoot/temp.html
@@ -8,10 +8,10 @@
<link rel="stylesheet" href="src/css/layui.css">
</head>
<body>
- <div id="exp_container"></div>
<script type="text/javascript" src="js/jquery-1.8.3.js"></script>
<script type="text/javascript" src="src/layui.js"></script>
<script type="text/javascript" src="js/base.js"></script>
+ <script type="text/javascript" src="pages/js/common.js"></script>
<script>
var ExpExcel = function() {
this.thead = ''; // 琛ㄦ牸鐨勫ご閮�
@@ -26,7 +26,7 @@
var prop = ExpExcel.prototype;
// 鍒濆鍖�
- prop._init = function(ele, obj) {
+ prop._init = function(obj) {
var defaults = {
thead: [],
tbody: [],
@@ -48,11 +48,17 @@
this.normal = opts.normal;
this.form = this.initForm();
- this._setForm(ele);
+ this._setForm();
};
// 璁剧疆椤甸潰涓殑鍏冪礌
- prop._setForm = function(ele) {
+ prop._setForm = function() {
+ var ele = $('#exp_container');
+ // 鍒涘缓瀹瑰櫒
+ if(ele.length == 0) {
+ $('body').append($('<div id="exp_container"></div>'));
+ }
+ ele = $('#exp_container');
// 鏇存柊鍐呭
ele.text('');
@@ -81,7 +87,7 @@
ele.append(form);
this.form = form;
- }
+ };
// 璁剧疆琛ㄦ牸澶撮儴鐨勫��
prop._setThead = function(thead, pageBreak, dataBreak) {
@@ -113,33 +119,32 @@
prop._setPageNames = function(pageNames, pageBreak) {
var str = pageNames.join(pageBreak);
this.pageNames = str;
- }
+ };
// 鍒濆鍖杅orm
prop.initForm = function() {
this.form = '12345';
- }
+ };
// 瀵煎嚭琛ㄦ牸
- prop.xls = function(ele, obj) {
+ prop.xls = function(obj) {
- this._init(ele, obj); // 鍒濆鍖栧唴瀹�
+ this._init(obj); // 鍒濆鍖栧唴瀹�
// 瀵煎嚭鍐呭
if(this.form == '12345') {
alert('娌℃湁妫�娴嬪埌form琛ㄥ崟')
}else {
this.form.submit();
}
- }
+ };
var expExcel = new ExpExcel();
-
var tblData = {
thead: [['h1', 'h2', 'h3', 'h4'], ['xh1', 'xh2', 'xh3', 'xh4']],
tbody:[['t1', 't2', 't3', 't4'], ['xt1', 'xt2', 'xt3', 'xt3']]
- }
+ };
- expExcel.xls($('#exp_container'), tblData);
+ GLOBAL.expExcel.xls(tblData);
</script>
</body>
</html>
\ No newline at end of file
--
Gitblit v1.9.1