gpt4 book ai didi

javascript - 在 csv 导出中跳过逗号 (,)

转载 作者:行者123 更新时间:2023-11-30 20:44:24 26 4
gpt4 key购买 nike

因此,我发现了其他几个具有相关答案的 SO 问题,并尝试了其中的大部分问题,但似乎对我没有任何帮助。可能是因为我的情况比之前的复杂很多。

这是我的 csv 文件,其中有几个特殊字符 [, ' "]

ID,Name,Executable,Host,Timeout,Tags,Visible,
65,one test,SomePROXY=http://10.10.10.10 /abc/cde/efg/some.py -u tom -g 'some-abc-test' --passparams "one,two",example.com,1800,nothing,true,

我期望的 excel 格式是:

ID: 65
Name: one test
Executable: SomePROXY=http://10.10.10.10 /abc/cde/efg/some.py -u tom -g 'some-abc-test' --passparams "one,two"
Host: example.com
Timeout: 1800
Tags: nothing
Visible: true

但是由于 Executable 字段中的逗号,“two”出现在新列中。我尝试引用“””下的所有内容(如其他答案中所建议的那样),但这似乎没有用。

谁能帮帮我。

这是我的代码,我想在这里使用它(用于 ag-grid 表)

    $scope.export_data_csv = function(){
var LINE_SEPARATOR = '\r\n';
var COLUMN_SEPARATOR = ',';
var fileName = 'export.csv';

let csvString = '';
let columnsToExport = $scope.ag_grid_options.api.columnController.getAllDisplayedColumns();

// adding column headers.
columnsToExport.map((column) => {
csvString+= column.colDef.headerName;
csvString+= COLUMN_SEPARATOR;
});
csvString+= LINE_SEPARATOR;

// adding content of data currently loaded in the grid.
$scope.ag_grid_options.api.forEachNode( function(node) {
node.columnController.allDisplayedColumns.map((column) => {
let cellContent = node.valueService.getValue(column, node);
if(typeof(cellContent) == 'object'){
cellContent = cellContent.join("; ")
}
csvString+= (cellContent != null) ? cellContent : "";
csvString+= COLUMN_SEPARATOR;
});
csvString+= LINE_SEPARATOR;
});

// for Excel, we need \ufeff at the start
var blobObj = new Blob(["\ufeff", csvString], {
type: "text/csv;charset=utf-8;"
});
// Internet Explorer
if (window.navigator.msSaveOrOpenBlob) {
window.navigator.msSaveOrOpenBlob(blobObj, fileName);
}
else {
// Chrome
var downloadLink = document.createElement("a");
downloadLink.href = window.URL.createObjectURL(blobObj);
downloadLink.download = fileName;
document.body.appendChild(downloadLink);
downloadLink.click();
document.body.removeChild(downloadLink);
}
}

;

最佳答案

您必须将 'Executable' 的整个值声明为字符串,并使用额外的双引号对内部的双引号进行转义。

ID,Name,Executable,Host,Timeout,Tags,Visible,
65,one test,"SomePROXY=http://10.10.10.10 /abc/cde/efg/some.py -u tom -g 'some-abc-test' --passparams ""one,two""",example.com,1800,nothing,true,

关于javascript - 在 csv 导出中跳过逗号 (,),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48883987/

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