簡體   English   中英

將公式從 JavaScript 添加到 CSV 以導入到 Google 表格會導致多列

[英]Adding Formula from JavaScript to CSV to be imported to Google Sheet results in multiple columns

我一直在嘗試使用 JavaScript 將下面顯示的公式添加到 Google 表格中的單個列中,但由於逗號的原因,它導致了不同的列。

=IF(A2="VALID", 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 Spreadsheet的方法,但您可以測試以下修改嗎?

從:

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)"';
  • 在我的環境中,我可以確認經過以下修改的 CSV 數據可以導入到 Google 電子表格中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM