gpt4 book ai didi

google-apps-script - 脚本 'setValues' 方法将字符串解释为单元格中的数字

转载 作者:行者123 更新时间:2023-12-05 03:00:11 25 4
gpt4 key购买 nike

我一直在通过方法 getValuessetValues 在 Google 表格中使用 Apps 脚本。数组中的返回值被进一步操作,它们将成为 JS 字符串并在单元格中设置为文本。

使用 setValues 后,如果字符串允许,单元格内的值将被解释为(特殊格式)数字,并且在单元格内它们实际上是数字,即使数组内的值是 JS 字符串.

我们能否通过脚本告知这些字符串值被设置为单元格中的文本?

以下测试代码初始化一个字符串数组,但当我检查 ell 值时,它们实际上是数字:

    function setValuesTest() {
var LN_DEST = 11;
var ss = SpreadsheetApp.getActive();
var currentSheet = ss.getActiveSheet();

var valuesAr = [];
var setAr = [];

valuesAr[0] = ['18:20', '3', '27/05/19', '27/5/2019', '01970123456'];
valuesAr[1] = ['3.5', '3,5', '27/05/19', '2019/5/20', '01970123456'];
valuesAr[2] = ['$3.5', '£3.5', '£2,5', '2,000,000', '2.000.000'];


for (var i = 0; i < valuesAr.length; i++) {
setAr[0] = valuesAr[i];
currentSheet.getRange(LN_DEST + i, 1, 1, setAr[0].length).setValues(setAr);
}

ss.toast('Complete!', 'END', -1);
}

我希望将单元格中的这些值作为文本保留字符。因此,如果数组中有 27/05/19,则使用文本 27/10/19 而不是数字,或者在单元格文本中使用 01970123456 而不是数字 1970123456。如果可能的话,我宁愿避免在值之前强制使用“' "因为我不确定这会对单元格上的 getValuesSetValues 方法的进一步使用产生什么影响。 (此行为的另一个缺点是此数据解释似乎取决于语言环境系统。)

最佳答案

  • 您想将值作为字符串放入电子表格。
  • 您不想使用单引号 ' 将值放在值的顶部。

如果我的理解是正确的,那么使用 setNumberFormat() 怎么样?请将此视为几个答案之一。

修改后的脚本:

请按如下方式修改您的脚本。

从:
currentSheet.getRange(LN_DEST + i, 1, 1, setAr[0].length).setValues(setAr);
至:
currentSheet.getRange(LN_DEST + i, 1, 1, setAr[0].length).setNumberFormat("@").setValues(setAr);

引用资料:

如果我误解了您的问题并且这不是您想要的方向,我深表歉意。

关于google-apps-script - 脚本 'setValues' 方法将字符串解释为单元格中的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57091209/

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