我有一个动态填充数据的表,我想将此表导出为 .xlsm 或 .xls 使用 JavaScript 格式化。它应该在 IE 中工作
这是我的 table :
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 Table Tools 插件。您将获得一个对数据进行排序、过滤、排序和分页的网格,只需几行额外的代码和两个小文件,您就可以导出到 Excel、PDF、CSV、剪贴板和打印机。
尝试这个数据表链接, http://datatables.net/release-datatables/extras/TableTools/index.html
关于javascript - 如何将表格导出到 Excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21549996/