Google apps script 追加行时丢失零编号

Google apps script 追加行时丢失零编号,google-apps-script,google-sheets,formatting,Google Apps Script,Google Sheets,Formatting,当我在谷歌工作表中使用appendRow时,我丢失了前导零(当我的数据是“电话号码”时),我怎么能保留它 我在append之前尝试了getDataRange().setNumberFormat('@STRING@'),但没有成功 var rowdata = ["dinh","loc","09182734756"] ws.appendRow(rowdata ); 下面是我当前结果的图像: 实际上,setNumberFormat()工作正常,但您需要通过setNumberFormat('@')或s

当我在谷歌工作表中使用appendRow时,我丢失了前导零(当我的数据是“电话号码”时),我怎么能保留它

我在append之前尝试了
getDataRange().setNumberFormat('@STRING@')
,但没有成功

var rowdata = ["dinh","loc","09182734756"]
ws.appendRow(rowdata );
下面是我当前结果的图像:


实际上,
setNumberFormat()
工作正常,但您需要通过
setNumberFormat('@')
setNumberFormat([[[['@]])应用它。
(取决于您是要在一个单元格上还是在自定义的
范围内设置它)

请记住在设置目标
范围的值之前设置数字格式

function testZero() {  
  var sh = SpreadsheetApp.getActiveSheet();

  var v = ["dinh","loc","09182734756"]; //do not add the "'";

  sh.appendRow(['']); //no need to do this step, it's an example;

  var rng = sh.getRange(sh.getLastRow()+1,1,1,v.length);
      rng.setNumberFormats([['@','@','@']]); //for test simplicity, set on Range you need to be of 0\d* pattern;
      rng.setValues([v]);

}

UPD:归功于Tanaike—访问最后一列所需的更灵活(也不太沉重)的解决方案是通过值
数组
长度。

实际上,
setNumberFormat()
工作正常,但您需要通过
setNumberFormat('@')
setNumberFormat([['@]])应用它。
(取决于您是要在一个单元格上设置,还是要在自定义的
范围内设置)

请记住在设置目标
范围的值之前设置数字格式

function testZero() {  
  var sh = SpreadsheetApp.getActiveSheet();

  var v = ["dinh","loc","09182734756"]; //do not add the "'";

  sh.appendRow(['']); //no need to do this step, it's an example;

  var rng = sh.getRange(sh.getLastRow()+1,1,1,v.length);
      rng.setNumberFormats([['@','@','@']]); //for test simplicity, set on Range you need to be of 0\d* pattern;
      rng.setValues([v]);

}

UPD:归功于Tanaike-访问最后一列所需的更灵活(也不太沉重)的解决方案是通过值
Array
length。

如果您想使用
appendRow()
输入
09182734756
的值,那么从
var rowdata=[“dinh”,“loc”,“09182734756”进行修改怎么样
to
var rowdata=[“dinh”、“loc”、“'09182734756”]
?在电子表格中,当
被添加到顶部字母时,该值被用作字符串。Tanaike,谢谢你。我已经尝试过并成功了,但还有其他方法吗?我发现在单元格add中有一个问题,在数字之前加错了,我只想保留零个数字。结果在单元格-->('09182734756)但我只想要(09182734756)谢谢你的回复。例如,将单元格的格式修改为字符串类型如何?我不知道我是否尝试过getDataRange()。在追加之前,setNumberFormat('@string@')没有运行…仍然丢失了零号!如果你想使用
appendRow()来输入
09182734756
的值
,如何从
var rowdata=[“dinh”,“loc”,“09182734756”]
修改为
var rowdata=[“dinh”,“loc”,“09182734756”]
?在电子表格中,当将
添加到顶部字母时,值被用作字符串。塔奈克,非常感谢你。我尝试过并成功了,但还有其他方法吗?我发现单元格“添加”中的一个问题,之前的数字错得很厉害,我只想保留零数字。结果是单元格-->('09182734756),但我只想要(09182734756)感谢您的回复。例如,将单元格的格式修改为字符串类型如何?我不知道我在追加之前尝试了getDataRange()。setNumberFormat(“@string@”)但没有运行…仍然丢失了零编号!我想可能需要进行以下修改。1.
SpreadSheetApp.getActiveSheet()
to
SpreadsheetApp.getActiveSheet()
2.
var rng=r.getRange(r.getLastRow(),1,1,r.getLastColumn())
to
var rng=r.getRange(r.getLastRow()+1,1,v.length)
是的,tks您使用的是setValues它运行得很好!使用append可能更改值应该是使用setValues很高兴我们能提供帮助!请您澄清您的评论的第二部分,我不确定我是否理解它?我想可能需要进行以下修改。1.
SpreadSheetApp.getActiveSheet()
to
SpreadsheetApp.getActiveSheet()
2.
var rng=r.getRange(r.getLastRow(),1,1,r.getLastColumn())
to
var rng=r.getRange(r.getLastRow()+1,1,v.length)
是的,tks您使用的是setValues它运行得很好!使用append可能更改值应该是使用setValues很高兴我们能提供帮助!请您澄清您评论的第二部分,我不确定我是否理解它?