[英]How do I export a table into Excel
我有一个表格,其中数据动态填充,我想使用JavaScript将此表格导出为.xlsm或.xls格式。 它应该在IE中工作
这是我的表:
function Table(x) {
var statusCol = "";
var table = '<table><tr><th>First Name</th><th>Surname</th><th>Surname</th></tr>';
var ID = 0;
for (var i=0;i<10;i++) {
var row = "<tr age='"+(12+i)+"' class='staff-row' id='" +"ColId"+i + "'>";
row += '<td>' + "FName" + '</td>';
row += '<td>' + "SName" + '</td>'
row+="</tr>"
ID++;
table += row;
}
table += '</table>';
$('#DisplayTable').html(table);
$('#DisplayTable').tooltip({
'show': true,
'selector':'.staff-row',
'placement': 'bottom',
'title': function(event){
var $this=$(this);
var tds=$this.find('td');
return $(tds[0]).text()+" "+$(tds[1]).text()+" age: "+$this.attr("age");
},
});
<button type="button" class="btn btn-default export">
我做了一些在线搜索,我发现的只是这个,但我不明白其中一些代码示例,例如我如何链接我的表格? 以及如何嵌入此代码,以便在用户单击按钮时导出.xlsm文件。 我的意思是我有onClick
功能,但它什么都没做?
$(document).ready(function () {
$('.export').on('click', function () {
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"><head><meta http-equiv="content-type" content="text/plain; charset=UTF-8"/></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) {
if (!table.nodeType) table = document.getElementById(table)
var ctx = { worksheet: name || 'Worksheet', table: table.innerHTML }
window.location.href = uri + base64(format(template, ctx))
}
})()
});
});
这是一个JSFiddle: JSFIDDLE DEMO
这是其他人做过的JSFIDDLE DEMO我也看过Link
最简单的从表格导出到Excel是Jquery DataTables表格工具插件。 您可以获得对数据进行排序,过滤,订购和分页的网格,只需添加几行代码和两个小文件,您就可以导出到Excel,PDF,CSV,剪贴板和打印机。
试试这个数据链接, http://datatables.net/release-datatables/extras/TableTools/index.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.