gpt4 book ai didi

JavaScript CSV 导出 - 在每个值后添加选项卡

转载 作者:行者123 更新时间:2023-12-03 00:50:26 27 4
gpt4 key购买 nike

这种情况仅发生在 Chrome 中,并且仅在更新到版本 70.0.3538.77 后才开始发生。在更新之前,Chrome 中从未发生过这种情况。

我有一些 JavaScript,当单击按钮将表导出到 .csv 文件时,这些 JavaScript 就会被激活。

文件中的每个单元格在值后面都有一个制表符(或者可能是换行符?)。有人知道这里会发生什么吗?

这是要导出的代码:

function downloadCSV(csv, filename) {
var csvFile;
var downloadLink;

// CSV file
csvFile = new Blob([csv], {type: "text/csv"});

// Download link
downloadLink = document.createElement("a");

// File name
downloadLink.download = filename;

// Create a link to the file
downloadLink.href = window.URL.createObjectURL(csvFile);

// Hide download link
downloadLink.style.display = "none";

// Add the link to DOM
document.body.appendChild(downloadLink);

// Click download link
downloadLink.click();
}

function exportTableToCSV(filename) {
var csv = [];
var rows = document.querySelectorAll("table tbody tr,table thead tr");

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 file
downloadCSV(csv.join("\n"), filename+(new Date().getTime())+".csv");
}

最佳答案

一个简单的修复方法是 trim 单元格的值:

row.push(cols[j].innerText.trim());

trim() 从值中删除所有前导或尾随行结尾、制表符、空格等。

您可能还需要考虑使用引号限定文本,以防止单元格值中出现逗号问题:

row.push('"' + cols[j].innerText.trim() + '"');

肯定有更复杂的情况(如果您的值现在包含报价怎么办?),因此您可能需要随着时间的推移在此基础上构建以输出正确的 CSV 文件。

关于JavaScript CSV 导出 - 在每个值后添加选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53071643/

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