gpt4 book ai didi

javascript - 导出到 CSV 文件分隔符问题

转载 作者:行者123 更新时间:2023-11-27 23:57:38 27 4
gpt4 key购买 nike

我在导出 csv 时遇到问题。问题是:1)我必须将 html 表导出到 csv 文件。我可以将 csv 文件的分隔符更改为其他内容(例如分号)吗?如果表中同一列下的值以逗号分隔,则在 csv 工作表中,它会显示在不同的列中。例如在代码中:“Apple,Banana,Mango”我希望它在同一列中。2)我的代码不适用于 IE,它仅适用于 mozilla 3)我还希望用户保存 csv 文件。现在它会自动保存。请找到我的代码。任何机构都可以帮助解决任何问题吗?

fiddle 链接:https://jsfiddle.net/anbffh8p/4/

代码HTML:

      <div><a href="#" class="export">Export Table data into Excel</a></div>

代码JS:

    function exportTableToCSV(filename) {
alert('inside');

var csvData = [];
var tmpArr = [];

csvData.push("mechanical" + "," + "in process" + "," + "M00001" + "," + "A" + "," + "Test" + "," + "Xyz" + "," + "Apple,Banana,Mango");

csvData.push(tmpArr.join('\n'));
// printObject(tmpArr);

alert('before this');
var output = csvData.join('\n');
csvData = 'data:application/csv;charset=utf-8,' + encodeURIComponent(output);

$(this)
.attr({
'download': filename,
'href': csvData,
'target': '_blank'

});

alert('done');
}


$(".export").on('click', function (event) {
// CSV
exportTableToCSV.apply(this,['export.csv']);
});

最佳答案

总结:如果可以,请使用服务器端代码而不是 javascript 将 csv 文件发送给用户。

<小时/>

I have to export an html table to csv file.

你有服务器端代码吗?首先是什么生成了该表? php/C#-asp-net-mvc?这在服务器上会容易得多。

您实际上是在创建一个包含所有数据的 url - url 有最大长度(取决于浏览器,但通常 <2000 个字符),因此仅适用于少量数据。

Can I change the delimiter of csv file to something else like semicolon.

是的。代码不是你自己写的吗?

 csvData.push("mechanical" + "," + "in process" + "," + "M00001" + "," + "A" + "," + "Test" + "," + "Xyz" + "," + "Apple,Banana,Mango");

最简单的更改(但我通常使用 var 作为分隔符):

csvData.push("mechanical" + ";" + "in process" + ";" + "M00001" + ";" + "A" + ";" + "Test" + ";" + "Xyz" + ";" + "Apple,Banana,Mango");

If I have values in the table under the same column separated by comma, in the csv sheet it is showing in a different column.

这是对 CSV 文件工作原理的误解。它们不仅仅是 line.split("'")

基本上,在单元格两边加上双引号,例如:

Test,Xyz,"Apple,Banana,Mango"

要获取引号,请使用双引号,例如:

Test,"in ""quotes""",xyz

My code is not working for IE and it is only working for mozilla [and chrome]

您使用 url 功能来指定下载:“data:application/csv”(而不是“href:...”) - 不同的浏览器会以不同的方式处理此问题。

it is getting automatically saved

浏览器功能/最终用户特定选项。 FF/GC 通常会自动保存到下载而不是提示保存。

关于javascript - 导出到 CSV 文件分隔符问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32113048/

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