提问者:小点点

强制单元格解释为纯文本?


以下示例代码被解释为日期格式的单元格,这不是我的意图。它应该是纯文本。在Range上调用clearFormat()也无济于事。

function myFunction() {
  SpreadsheetApp.getActiveSheet().getRange(1, 1).setValue("11-2");
}

共2个答案

匿名用户

基于此博客,您可以设置单个单元格、从特定单元格开始的整个列或整个电子表格的格式。您可以在Google表格支持页面上找到有关数字格式的其他资源。

// Use these first two lines for all four examples
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

// Single cell
var cell = sheet.getRange("B2");

// Plain text
cell.setNumberFormat("@");

同样在这个谷歌论坛中,您可以使用range. setNumberFormat('@STRING@');将单元格格式化为纯文本。

检查这些链接:

  • 通过Apps Script以明文格式格式化Google表格单元格

另一个答案,在javascript中将格式设置为“纯文本”,不起作用。但是,这确实:

sheet.getRange(1,n).setNumberFormat('@STRING@');

所以以编程方式格式化文本的神奇值是“@STRING@”!

  • 设置格式为纯文本:Google电子表格:应用脚本

希望这有帮助!

匿名用户

当电子表格解析器第一次遇到它时,它看起来像一个数字,因此它作为一个数字存储在它的系统中。

强制解析器接受任何内容作为文本的标准方法是使用撇号预先挂起输入

所以你的脚本变成了:

function myFunction() {
   SpreadsheetApp.getActiveSheet().getRange(1, 1).setValue("'11-2"); 
}