我有一張表,其中用戶通過下拉菜單過濾行,它們只是隱藏了他們不想看到的行。CSV導出可見行
我想要做的是僅導出到CSV目前可見的行。
以前有人曾經做過這樣的事情嗎?我正在使用hide()
和show()
來隱藏/顯示錶格行。
我有一張表,其中用戶通過下拉菜單過濾行,它們只是隱藏了他們不想看到的行。CSV導出可見行
我想要做的是僅導出到CSV目前可見的行。
以前有人曾經做過這樣的事情嗎?我正在使用hide()
和show()
來隱藏/顯示錶格行。
對於正在尋找類似解決方案的其他人,我終於找到了一些東西。這裏是。
jQuery.fn.toCSV = function() {
var data = $(this).first(); //Only one table
var csvData = [];
var tmpArr = [];
var tmpStr = '';
data.find("tr:visible").each(function() {
if($(this).find("th").length) {
$(this).find("th").each(function() {
tmpStr = $(this).text().replace(/"/g, '""');
tmpArr.push('"' + tmpStr + '"');
});
csvData.push(tmpArr);
} else {
tmpArr = [];
$(this).find("td").each(function() {
if($(this).text().match(/^-{0,1}\d*\.{0,1}\d+$/)) {
tmpArr.push(parseFloat($(this).text()));
} else {
tmpStr = $(this).text().replace(/"/g, '""');
tmpArr.push('"' + tmpStr + '"');
}
});
csvData.push(tmpArr.join(','));
}
});
var output = csvData.join('\n');
var uri = 'data:application/csv;charset=UTF-8,' + encodeURIComponent(output);
window.open(uri);
}
不幸的是,我不相信有這樣做的快速一次性方法。 但你可以做什麼:
Ctrl + ;只選擇可見的行。
Ctrl + C copy。
打開一張新紙。
Ctrl + V粘貼。
然後將新工作表保存爲CSV。