jQuery从html表中排除特定的<td id =“ id”>到.csv函数

时间:2019-11-15 15:24:27

标签: jquery html csv html-table

Michael Singer(用户:5581875)创建了以下代码(来自此处:How do I export html table data as .csv file?),用于将html表转换为.csv文件,但是我需要能够排除表的某些部分从被转换。具体来说,具有特定ID的表数据。我的表目前已设置好,以便每当有人单击按钮时,都会发生onclick事件,其中通过.hide()函数从视图中隐藏了表的一部分。我希望能够从导出中排除隐藏部分。如果有人知道我该怎么做,我将非常感谢您的帮助!

同样,这不是我的代码,它来自:How do I export html table data as .csv file?另外,我对该网站还很陌生,所以如果我对这个问题不满意,请告诉我。谢谢!

function exportTableToCSV($table, filename) {
            var $rows = $table.find('tr:has(td),tr:has(th)'),
                tmpColDelim = String.fromCharCode(11),
                tmpRowDelim = String.fromCharCode(0),
                colDelim = '","',
                rowDelim = '"\r\n"',
                csv = '"' + $rows.map(function (i, row) {
                    var $row = $(row), $cols = $row.find('td,th');
                    return $cols.map(function (j, col) {
                        var $col = $(col), text = $col.text();                
                        return text.replace(/"/g, '""');
                    }).get().join(tmpColDelim);
                }).get().join(tmpRowDelim)
                    .split(tmpRowDelim).join(rowDelim)
                    .split(tmpColDelim).join(colDelim) + '"',

                // Data URI
                csvData = 'data:application/csv;charset=utf-8,' + encodeURIComponent(csv);

            console.log(csv);

            if (window.navigator.msSaveBlob) { // IE 10+
                //alert('IE' + csv);
                window.navigator.msSaveOrOpenBlob(new Blob([csv], { type: "text/plain;charset=utf-8;" }), "csvname.csv")
            }
            else {
                $(this).attr({ 'download': filename, 'href': csvData, 'target': '_blank' });
            }
        }

        $("#xx").on('click', function (event) {
            exportTableToCSV.apply(this, [$('#tableid'), 'filename.csv']);
        });

0 个答案:

没有答案