【问题标题】:TableSorter : how to export results to csv?TableSorter:如何将结果导出到 csv?
【发布时间】:2014-04-26 00:56:30
【问题描述】:

TableSorter 是一个很棒的 jquery 脚本,可以使用许多选项对 html 表进行排序。

但我不知道如何添加一个简单的“导出到 csv”按钮(或链接)来获取包含我的表记录的文件(没有特殊格式)。

我知道输出插件,但对我来说似乎太复杂了。

提前感谢您的帮助!

泰德

【问题讨论】:

    标签: tablesorter


    【解决方案1】:

    它实际上并不复杂,只是因为所有选项而看起来令人生畏。 output widget 可以输出 csv、tsv、任何其他分隔(空格、分号等)值、javascript 数组或 JSON。

    如果您只是使用基本功能,默认设置将:

    • 将 csv 输出到弹出窗口
    • 仅包含最后一个标题行
    • 仅包括过滤后的行(如果过滤器小部件甚至没有被使用,则所有行)
    • 将仅输出表格单元格文本(忽略 HTML)

    您只需要此代码 (demo):

    HTML

    <button class="download">Get CSV</button>
    <table class="tablesorter">
        ....
    </table>
    

    脚本

    $(function () {
        var $table = $('table');
    
        $('.download').click(function(){
            $table.trigger('outputTable');
        });
    
        $table.tablesorter({
            theme: 'blue',
            widgets: ['zebra', 'output']
        });
    });
    

    我创建了another demo,显示所有选项,并带有一组单选按钮,允许用户在将输出发送到弹出窗口或下载文件之间进行选择。

    HTML

    <label><input data-delivery="p" name="delivery" type="radio" checked /> popup</label>
    <label><input data-delivery="d" name="delivery" type="radio" /> download</label>
    <button class="download">Get CSV</button>
    

    脚本

    var $table = $('table');
    
    $('.download').click(function(){
        // get delivery type
        var delivery = $('input[name=delivery]:checked').attr('data-delivery');
        $table.data('tablesorter').widgetOptions.output_delivery = delivery;        
        $table.trigger('outputTable');
    });
    

    因此,您可以根据需要将其设置为简单或复杂(参见实际的output widget demo,它允许用户设置几乎所有选项)。

    【讨论】:

    • 非常感谢,Mottie,它运行良好。这个输出小部件很棒!现在,是否可以不导出单元格的全部内容而只导出特定的 div,与排序的工作方式相同?
    • 没有从特定 div 中选择内容的方法,但 output_dataAttrib option 允许您设置数据属性的名称,该名称可以包含要发送到输出的任何覆盖文本.单击该链接并查看示例。
    • 好的,它适用于 output_dataAttrib。谢谢莫蒂!
    • 我的 $table.trigger(outputTable) 正在触发,我可以在那里收到警报,但没有弹出窗口。发生了什么魔法:$table.trigger('outputTable');好像少了一块。
    • 主要演示对您有用吗?请检查以确保您的浏览器未设置或具有阻止弹出窗口打开的扩展程序/插件。
    猜你喜欢
    • 1970-01-01
    • 2016-11-10
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多