修剪而不将某些数值转换为日期值 Google 脚本

我有


var rangeValues = sheet.getDataRange().getValues();

// iterate through all cells in the selected range

for (var cellRow = 0; cellRow < maxHeight; cellRow++) {

 for (var cellColumn = 0; cellColumn < maxWidth; cellColumn++) {  

    rangeValues[cellRow][cellColumn] = rangeValues[cellRow][cellColumn].toString().trim();

 }

}

并将一些数值转换为日期值


例如:


8055-1 >> Fri Jan 01 8055 00:00:00 GMT-0600 (CST)


我认为问题toString()不是trim()


有没有办法修剪来避免这个问题?


慕妹3146593
浏览 182回答 1
1回答

慕田峪9158850

试试下面的代码:function trimCells(){&nbsp; var sheet = SpreadsheetApp.getActiveSheet();&nbsp; var rangeValues = sheet.getDataRange().setNumberFormat("@").getValues();&nbsp; // iterate through all cells in the selected range&nbsp; for (var cellRow = 0; cellRow < rangeValues.length; cellRow++) {&nbsp; &nbsp; for (var cellColumn = 0; cellColumn < rangeValues[0].length; cellColumn++) {&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; Logger.log("Before: " + rangeValues[cellRow][cellColumn])&nbsp; &nbsp; &nbsp; rangeValues[cellRow][cellColumn] = rangeValues[cellRow][cellColumn];&nbsp; &nbsp; &nbsp; Logger.log("After: " + rangeValues[cellRow][cellColumn])&nbsp; &nbsp; }&nbsp; }}添加setNumberFormat("@")到范围将使您选择的范围成为纯文本。当您之前将值添加到工作表时,它们会自动格式化为日期,因为它与模式匹配。通过此更改,您可以将范围的格式设置为纯文本。另外,我根据长度进行了更改maxHeight,我假设这也是您获得它们的方式。此代码将范围内的值设置为纯文本并检索它们,您甚至不需要or (除非您确实想要后者)。maxWidthrangeValuestoString()trim()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript