如何将表导出到Excel

时间:2014-02-04 10:35:28

标签: javascript jquery export-to-excel

我有一个表格,其中数据动态填充,我想将此表格导出为 .xlsm .xls 格式使用JavaScript。它应该在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

1 个答案:

答案 0 :(得分:0)

从表格到Excel的最简单导出是Jquery DataTables表格工具插件。您可以获得对数据进行排序,过滤,订购和分页的网格,只需添加几行代码和两个小文件,您就可以导出到Excel,PDF,CSV,剪贴板和打印机。

试试这个数据表链接, http://datatables.net/release-datatables/extras/TableTools/index.html

相关问题