[英].setNumberFormat is not working in Google Apps Script
我的 Google Apps 腳本中有以下代碼,它從我的 Google 電子表格中獲取數據,第 15 行(最后一行)返回一個錯誤, TypeError: percent1.setNumberFormats is not a function (line 15, file "Code")
。 我應該改變什么來解決這個問題?
我想要做的是,我想以0.00%
之類的百分比格式顯示dod1
function notifySlack(message) {
var url = 'https://docs.google.com/spreadsheets/d/xxxxxxxxxxxxxxxxxxxxxx/edit#gid=xxxxxxxxx';
var spreadSheet = SpreadsheetApp.openByUrl(url);
var allSheets = spreadSheet.getSheets();
var theSheet = allSheets[1];
var lastRow = theSheet.getLastRow();
var lastColumn = theSheet.getLastColumn();
var sheetData = theSheet.getSheetValues(1, 1, lastRow, lastColumn);
var ymd = Utilities.formatDate(sheetData[44][0], 'Asia/Tokyo', 'yyyy-MM-dd');
var data1 = sheetData[44][1];
var percent1 = sheetData[44][1] / sheetData[43][1];
var dod1 = percent1.setNumberFormat('0.00%');
}
sheetData[44][1]
和sheetData[43][1]
的值為數字時, var percent1
var percent1 = sheetData[44][1] / sheetData[43][1];
是數字。 當這些是字符串時, percent1
是NaN
。setNumberFormat
是 Class Class Range 的方法。 參考通過這些情況,您的腳本會發生錯誤。 這是你的問題的原因。 不幸的是,從你的腳本中,我無法理解你目標的細節。 所以在這個答案中,我想為我猜到的你的目標提出 2 種模式。
在這種模式下,var percent1 的percent1
的值var percent1 = sheetData[44][1] / sheetData[43][1];
修改為0.00%
。 在這種情況下, dod1
的值變成了一個字符串。
var dod1 = percent1.setNumberFormat('0.00%');
至:
var dod1 = Utilities.formatString("%1.2f%", percent1 * 100);
在本模式中,解釋了使用setNumberFormat
的方法。 當您要修改活動工作表中單元格“A1”的數字格式時,可以使用以下腳本。 在這種情況下,單元格“A1”的值可以用作數字。
var sheet = SpreadsheetApp.getActiveSheet(); var range = sheet.getRange("A1"); range.setNumberFormat('0.00%');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.