追加一行会将字符串转换为日期而不是将其保留为字符串

时间:2015-02-18 13:22:07

标签: google-apps-script

我有一个附加行的脚本。在行中有一个值,它是一个字符串,包含一年和以下格式的季度:年 - 季度(例如2014-3)。直到今天我都没有问题,但突然间它变成了约会。

我尝试使用上面一行的复制格式,我将其设置为纯文本,但它不起作用。

这是我的测试代码,因为原始脚本太长了:

function myFunction() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var s = ss.getSheets()[0];
  var lastRow = s.getLastRow();
  var lastColumn = s.getLastColumn()
  s.insertRowsAfter(lastRow, 1);
  // copying previous row format
  s.getRange(lastRow, 1, 1, lastColumn).copyFormatToRange(s, 1, lastColumn, lastRow+1, lastRow+1);
  var content = ['Shipping','2014-3'];
  s.appendRow(content);
}

代码嵌入在以下电子表格中:https://docs.google.com/spreadsheets/d/1TitZsXOssqybMqAMU9osdpAEH-utvjkEa4ZKBxuinUo/edit?usp=sharing

感谢任何帮助。

2 个答案:

答案 0 :(得分:2)

原始范围可能具有格式Automatic,在复制文本之前将其更改为带有setNumberFormat("@STRING@")的字符串。

答案 1 :(得分:0)

只需在看起来像日期的字符串前添加一个撇号,就像这样:

  var content = ["Shipping","'2014-3"];
  s.appendRow(content);