将过滤的html表数据下载到csv文件

时间:2019-06-04 03:14:27

标签: javascript jquery html html-table

我创建了一个ejs文件,该文件可以在表中显示mongodb db集合中的文档,并添加了select:option可以过滤表。例如,在select:option的{​​{1}}中,我选择了date,它将仅显示日期为05/28/2019的数据。并且我已经有一个可以下载表格的下载表格,但是“下载”按钮只能下载表格中的整个数据,而不能下载过滤后的数据。
我的问题是,是否有一种方法可以过滤表中的数据,然后单击下载,它只会下载过滤后的数据,而不是整个表。
请在此处查看示例代码{{3 }}
这是可以过滤表格的代码

05/28/2019

这就是我遵循的有关如何将html表下载到csv文件https://jsfiddle.net/indefinite/b63y928L/9/的内容
我希望一旦选择日期,它只会下载所选日期的数据。谢谢!

1 个答案:

答案 0 :(得分:2)

您可以修改行选择器以仅选择可见行。 var rows = $("table tr:visible");。由于您已经在使用jquery库,因此可以使用jquery选择器。

function export_table_to_csv(html, filename) {
    var csv = [];
    //var rows = document.querySelectorAll("table tr:visible");
    var rows = $("table tr:visible");

    for (var i = 0; i < rows.length; i++) {
        var row = [], cols = rows[i].querySelectorAll("td, th");

        for (var j = 0; j < cols.length; j++) 
            row.push(cols[j].innerText);

        csv.push(row.join(","));        
    }

    // Download CSV
    download_csv(csv.join("\n"), filename);
}

查看更新的小提琴POST