修改脚本以仅导出可见行

时间:2016-10-27 08:28:12

标签: javascript jquery html

目前我正在使用以下脚本将导出数据导出为ex​​cel。它正在导出表中的所有可用数据。我想以这样的方式修改它只能导出可见的行。另外,我想为要下载的表添加更多列/信息。

var tableToExcel = (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]; }) }
    return function(table, name,filename) {
         if (!table.nodeType) table = document.getElementById("testTable");    
             var ctx = {worksheet: name || 'Worksheet', table: table.innerHTML}
             document.getElementById("dlink").href = uri + base64(format(template, ctx));
             document.getElementById("dlink").download = filename;
             document.getElementById("dlink").click();
        }
});

我正在使用$('[style * =“display:none”]')。remove();用于删除隐藏的列。但它也会从表中删除数据。我想从导出的数据中删除此内容。并希望在导出的工作表中添加更多信息。

任何人的任何意见/建议都将不胜感激。

0 个答案:

没有答案