UNPKG

tableexport

Version:

The simple, easy-to-implement library to export HTML tables to xlsx, xls, csv, and txt files

1 lines 2.39 kB
(function(a){a.fn.tableExport=function(d){var e=a.extend({},a.fn.tableExport.defaults,d),g=a.fn.tableExport.rowDel,f,b,c;if(e.bootstrap){f=a.fn.tableExport.bootstrap[0]+" ";b=a.fn.tableExport.bootstrap[1]+" ";c=a.fn.tableExport.bootstrap[2]+" "}else{f=a.fn.tableExport.defaultButton+" ";b=c=""}return this.each(function(){var k=a(this),j=e.headings?k.find("tr"):k.find("tr:has(td)"),m=e.fileName==="id"?(k.attr("id")?k.attr("id"):a.fn.tableExport.defaultFileName):e.fileName,l={xls:function(o,p){var n=a.fn.tableExport.xls.separator,t="data:application/vnd.ms-excel;charset=utf-8,"+encodeURIComponent(j.map(function(v,w){var u=a(w).find("th, td");return u.map(function(x,y){return a(y).html()}).get().join(n)}).get().join(o)),s=p+".xls",r=a.fn.tableExport.xls.buttonContent,q=a.fn.tableExport.xls.defaultClass;h(t,s,r,q)},csv:function(o,p){o='"'+o+'"';var n='"'+a.fn.tableExport.csv.separator+'"',t="data:text/csv;charset=utf-8,"+encodeURIComponent('"'+j.map(function(v,w){var u=a(w).find("th, td");return u.map(function(x,y){return a(y).text().replace(/"/g,'""')}).get().join(n)}).get().join(o)+'"'),s=p+".csv",r=a.fn.tableExport.csv.buttonContent,q=a.fn.tableExport.csv.defaultClass;h(t,s,r,q)},txt:function(o,p){var n=a.fn.tableExport.txt.separator,t="data:text/plain;charset=utf-8,"+encodeURIComponent(j.map(function(v,w){var u=a(w).find("th, td");return u.map(function(x,y){return a(y).text()}).get().join(n)}).get().join(o)),s=p+".txt",r=a.fn.tableExport.txt.buttonContent,q=a.fn.tableExport.txt.defaultClass;h(t,s,r,q)}};e.formats.forEach(function(n){l[n](g,m)});function i(n){var o=k.find("caption:not(.head)");o.length?o.append(n):k.prepend('<caption class="'+c+e.position+'">'+n+"</caption>")}function h(r,p,o,n){var q="<a href='"+r+"' download='"+p+"' role='button' class='"+f+b+n+"'>"+o+"</a>";i(q)}})};a.fn.tableExport.defaults={headings:true,formats:["xls","csv","txt"],fileName:"id",bootstrap:true,position:"bottom"};a.fn.tableExport.xls={defaultClass:"xls",buttonContent:"Export to xls",separator:"\t"};a.fn.tableExport.csv={defaultClass:"csv",buttonContent:"Export to csv",separator:","};a.fn.tableExport.txt={defaultClass:"txt",buttonContent:"Export to txt",separator:" "};a.fn.tableExport.defaultFileName="myDownload";a.fn.tableExport.defaultButton="button-default";a.fn.tableExport.bootstrap=["btn","btn-default","btn-toolbar"];a.fn.tableExport.rowDel="\r\n"}(jQuery));