Google apps script 在工作表中插入字符串会导致插入数字
在我的谷歌应用程序脚本中,我在电子表格中添加了一行。在追加的这一行中,我试图插入一个值为“0102”的字符串,但是插入时它会转换为数字102。是否有任何方法可以使用Google Apps脚本将值插入到工作表中,该脚本不会将这些类型的数字格式化为整数,而是将它们保留为字符串?在设置其值之前,您需要将单元格格式化为纯文本。从中,这个(似乎没有文档记录的)技巧是Google apps script 在工作表中插入字符串会导致插入数字,google-apps-script,google-sheets,Google Apps Script,Google Sheets,在我的谷歌应用程序脚本中,我在电子表格中添加了一行。在追加的这一行中,我试图插入一个值为“0102”的字符串,但是插入时它会转换为数字102。是否有任何方法可以使用Google Apps脚本将值插入到工作表中,该脚本不会将这些类型的数字格式化为整数,而是将它们保留为字符串?在设置其值之前,您需要将单元格格式化为纯文本。从中,这个(似乎没有文档记录的)技巧是setNumberFormat('@STRING@')。比如说, sheet.getRange("A1").setNumberFormat('
setNumberFormat('@STRING@')
。比如说,
sheet.getRange("A1").setNumberFormat('@STRING@').setValue('0102');
将单元格A1格式化为纯文本,并设置值“0102”,该值将保持为字符串
不幸的是,appendRow
,作为一种添加行和插入值的原子操作,没有留下格式化的空间。例如,您需要更详细的内容
sheet.insertRowAfter(sheet.getLastRow());
var range = sheet.getRange(sheet.getLastRow() + 1, 1, 1, 3);
range.setNumberFormats([['', '', '@STRING@']]).setValues([['Boston', 'MA', '02201']]);
此代码添加一行,并用Boston MA 02201填充其中的前三个单元格,将邮政编码02201保留为字符串。我想我会添加我自己的解决方案,解决这个问题
sheet.appendRow(["Boston", "MA", "'02201"])
我发现的修复方法是,如果您在前面添加一个“
字符,您试图插入的值将强制它保持为字符串
sheet.appendRow(["Boston", "MA", "'02201"])
非常感谢你!感谢您展示appendRow的替代方案