JeasyUI,导出Excel

Posted zitjubiz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JeasyUI,导出Excel相关的知识,希望对你有一定的参考价值。

这个是客户端表格导出伪Excel文档. 不知道为啥,超过200条,不能导出,显示网络错误

 

$.extend($.fn.datagrid.methods, {  
        //超过200条,不能导出,显示网络错误??
        toExcel: function(jq, filename){  
            return jq.each(function(){  
                var uri = data:application/vnd.ms-excel;base64,
                    , template = <html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--></head><body><table>{table}</table></body></html>
                    , base64 = function (s) { return window.btoa(unescape(encodeURIComponent(s))) }
                    , format = function (s, c) { return s.replace(/{(\w+)}/g, function (m, p) { return c[p]; }) }

                var alink = $(<a style="display:none"></a>).appendTo(body);
                var view = $(this).datagrid(getPanel).find(div.datagrid-view);

                var ignoreColumnIndex = 2;//前3列不导出
                //冻结的表格
                var table = view.find(div.datagrid-view2 table.datagrid-btable).clone();
                var tbody = table.find(>tbody);
                view.find(div.datagrid-view1 table.datagrid-btable>tbody>tr).each(function (index) {                   
                        $(this).clone().children().prependTo(tbody.children(tr:eq( + index + )));
                });
                //非冻结表格
                var head = view.find(div.datagrid-view2 table.datagrid-htable).clone();
                var hbody = head.find(>tbody);
                view.find(div.datagrid-view1 table.datagrid-htable>tbody>tr).each(function (index) {
                        $(this).clone().children().prependTo(hbody.children(tr:eq( + index + )));
                });
                hbody.prependTo(table);

                var ctx = { worksheet: name || Worksheet, table: table.html() || ‘‘ };
                alink[0].href = uri + base64(format(template, ctx));
                alink[0].download = filename;
                alink[0].click();
                alink.remove();  
            })  
        },
        toExcelUnfreeze: function (jq, filename) {
            return jq.each(function () {
                var uri = data:application/vnd.ms-excel;base64,
                    , template = <html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><meta charset="utf-8"/><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--></head><body><table>{table}</table></body></html>
                    , base64 = function (s) { return window.btoa(unescape(encodeURIComponent(s))) }
                    , format = function (s, c) { return s.replace(/{(\w+)}/g, function (m, p) { return c[p]; }) }

                var alink = $(<a style="display:none"></a>).appendTo(body);
                var view = $(this).datagrid(getPanel).find(div.datagrid-view);
                //非冻结列的table body
                var table = view.find(div.datagrid-view2 table.datagrid-btable).clone();

                //非冻结列的table header
                var head = view.find(div.datagrid-view2 table.datagrid-htable).clone();
                var hbody = head.find(>tbody);

                hbody.prependTo(table);

                var ctx = { worksheet: filename || Worksheet, table: table.html() || ‘‘ };
                alink[0].href = uri + base64(format(template, ctx));
                alink[0].download = filename;
                alink[0].click();
                alink.remove();
            })
        },
    })

 

以上是关于JeasyUI,导出Excel的主要内容,如果未能解决你的问题,请参考以下文章

phpExcel 操作示例

hutool工具导出excel代码示例

hutool工具导出excel代码示例

jsp导入和导出excel的代码(jsp连接excel的方法)

java五行代码导出Excel

急求php导出生成excel的代码