繁体   English   中英

以特定格式导出到csv

[英]Export to csv in a particular format

有什么具体方法可以控制csv文件列中每个数据的更新。 我希望几栏为文本格式,几栏为数字格式。

例如:

我想用标题“ Stock ”更新此列,其值为:

250.000,10.000,0.000,0.000,2.500,30.000,700.000,10.000,250.000,0.000。

但是,导出的csv文件未采用十进制值。 它显示为

250,10,0,0,2.5等

通常,通常我可以手动进入csv文件的每一列,选择它,右键单击,设置单元格格式,然后将格式更改为文本或数字。 但是我不想手动进行。 我希望在导出csv时自动完成此操作。 码:

$.each(exportArray, function (index, value) {
    csvData.push(x[index] + "," + y[index] + "," + d[index] + "," + z[index]  + ","+ a[index] + "," + e[index] + "," + b[index] + "," + c[index]);
});

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

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

查看此问题和可接受的答案- 格式数字始终显示2个小数位

本质上,您将需要执行以下操作:

function toFixed3(n) {
    return parseFloat(Math.round(n * 1000) / 1000).toFixed(3);
}

csvData.push(toFixed3(x[index]) + "," + toFixed3(y[index]) + "," + 
    toFixed3(d[index]) + "," + toFixed3(z[index])  + ","+ 
    toFixed3(a[index]) + "," + toFixed3(e[index]) + "," + 
    toFixed3(b[index]) + "," + toFixed3(c[index]));

在CSV文件中,您无法定义单元格的格式。
Excel将使用数字的默认格式。

如果要控制单元格格式,则应使用其他文件格式,例如SYLK

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM