javascript - 如何将表格导出到 Excel

标签 javascript jquery export-to-excel

我有一个动态填充数据的表,我想将此表导出为 .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/

相关文章:

javascript - 使用 Flexbox 的最小和最大高度

javascript - jQuery 在 Flash 中打开 url

javascript - 克隆和删除列表项,但如果是该项目,则阻止删除第一个

jquery - 如何从数组中添加其他数据以导出到 jquery 数据表中的 excel

python - 如何通过python将Web抓取数据导出到csv

c# - 使用 Can Grow 导出到 Excel 的 Crystal Reports

javascript - 访问另一个组件中的 vue 组件数据时遇到问题

javascript - Angular/MEAN.io 中的路由安全漏洞?

javascript - jQuery - HSL 彩色背景

javascript - 调用函数后更改链接属性