Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将JavaScript中的公式添加到CSV以导入到Google工作表,结果会出现多列_Javascript_Excel_Csv_Google Sheets_Google Sheets Formula - Fatal编程技术网

将JavaScript中的公式添加到CSV以导入到Google工作表,结果会出现多列

将JavaScript中的公式添加到CSV以导入到Google工作表,结果会出现多列,javascript,excel,csv,google-sheets,google-sheets-formula,Javascript,Excel,Csv,Google Sheets,Google Sheets Formula,我一直在尝试使用JavaScript将下面所示的公式添加到GoogleSheets中的单个列中,但由于逗号的缘故,它会导致不同的列 =如果(A2=“有效”,B2,0) 目前,我用于生成CSV的代码如下: var CSVRowDemo = []; var CSVDemo = 'data:text/csv;charset=utf-8,'; CSVRowDemo.push(['VALID/INVALID', 'Value', 'Check']) let index = 2; let check = '

我一直在尝试使用JavaScript将下面所示的公式添加到GoogleSheets中的单个列中,但由于逗号的缘故,它会导致不同的列

=如果(A2=“有效”,B2,0)

目前,我用于生成CSV的代码如下:

var CSVRowDemo = [];
var CSVDemo = 'data:text/csv;charset=utf-8,';
CSVRowDemo.push(['VALID/INVALID', 'Value', 'Check'])
let index = 2;
let check = '"' + '=IF(A'+index+'=\"VALID\"", B'+index+', 0)'.replace(/"/g, '""') + '"';
CSVRowDemo.push(['VALID', '100', check])
CSVRowDemo.forEach(function(rowArray) {
    let row = rowArray.join(',');
    CSVDemo += row + '\r\n';
});

encodedUri = encodeURI(CSVDemo);
link = document.createElement("a");
link.setAttribute("href", encodedUri);
link.setAttribute("download", "Basic.csv");
document.body.appendChild(link);
link.click();
希望看到这样的情况。(这是在LibreOffice Calc中呈现的方式。)

而是在谷歌表单中看到了这样的情况。

最接近的答案是这个

我试图只使用Javascript,而不是NodeJS或其他库


非常感谢您的帮助。

尽管我不确定将创建的CSV数据放入Google电子表格的方法,但您能否测试以下修改

发件人: 致: 或

  • 在我的环境中,我可以确认经过以下修改的CSV数据可以导入到Google电子表格中

第一个对我有用。谢谢你的帮助@谢谢你的回复。我很高兴你的问题解决了。
let check = '"' + '=IF(A'+index+'=\"VALID\"", B'+index+', 0)'.replace(/"/g, '""') + '"';
let check = `"=IF(A${index}=""VALID"", B${index}, 0)"`;
let check = '"=IF(A'+index+'=""VALID"", B'+index+', 0)"';