gpt4 book ai didi

javascript - 如何为java脚本中的表的所有条目提供下载选项?

转载 作者:行者123 更新时间:2023-12-03 02:09:43 25 4
gpt4 key购买 nike

我有一个如下所示的表格: enter image description here

此外,正如您在底部看到的,我提供了一个 HTML 到 CSV 的下载按钮,但它仅提供页面上可见的 25 个条目的下载。我想向最终用户提供所有条目 (551,483) 的下载选项。我该怎么做?您可以在下面看到我使用的代码:

downloadCSV (csv, filename) {
var csvFile;
var downloadLink;
csvFile = new Blob([csv], {type: 'text/csv'});
downloadLink = document.createElement('a');
downloadLink.download = filename;
downloadLink.href = window.URL.createObjectURL(csvFile);
downloadLink.style.display = 'none';
document.body.appendChild(downloadLink);
downloadLink.click();
},

exportTableToCSV (filename) {
var csv = [];
var rows = document.querySelectorAll('table tr');
for (var i = 0; i < rows.length; i++) {
var row = [];
var cols = rows[i].querySelectorAll('td, th');
for (var j = 0; j < cols.length; j++) {
row.push(cols[j].innerText);
}
csv.push(row.join(','));
}
this.downloadCSV(csv.join('\n'), filename);
}

最佳答案

您的服务器向客户端发送 25 个项目,因此您的客户端只有 25 个项目。如果您不将所有项目发送到客户端,那么您将无法在不向服务器发送请求的情况下导出它们。因此,您有两个选择:

  1. 您可以将包含所有数据的 JSON 发送到客户端,但这似乎不是一个好主意,特别是当服务器必须将如此大的数据 block 发送给多个用户时同时(DDOS攻击将变得极其容易)。此外,加载页面可能会花费大量时间,不必要地让用户等待一段时间,并且用户不一定希望导出所有页面加载中的数据,这使得服务器所做的努力和用户体验牺牲了 self 。击败想法。

  2. 我认为更好的方法是在服务器端提供导出功能,并且您只需按需请求数据。这似乎是一个更明智的方法。

关于javascript - 如何为java脚本中的表的所有条目提供下载选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49633340/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com