我在电子表格中从单元格获取值时遇到问题。我在文档中找到了getCell() - 方法,但它不起作用。它总是只获得“范围”而不是价值。 (它是一个整数btw。) 我找不到setCell() - 方法! o.O值在单元格B中:1 Thx任何帮助!! 1:)
var API_KEY = "***",
PROFILE_ID = "****";
GET_PLUS_ONES_URI = "https://www.googleapis.com/plus/v1/people/"+PROFILE_ID+"?fields=plusOneCount&key="+API_KEY;
var currentPlusOnes = 0,
lastPlusOnes = 0,
ss = SpreadsheetApp.getActive();
function execute() {
getCurrentPlusOnes();
getLastPlusOnes();
if ( currentPlusOnes !== getLastPlusOnes ) {
setCurrentValue();
}
}
function getCurrentPlusOnes() {
currentPlusOnes = JSON.parse( UrlFetchApp.fetch( GET_PLUS_ONES_URI )).plusOneCount;
}
function getLastPlusOnes() {
lastPlusOnes = ss.getRange("B1").getCell( 1, 1 ); // --> Allways just "Range" instead of the value
}
function setCurrentValue() {
ss.getDataRange().setValue( currentPlusOnes );
}
答案 0 :(得分:4)
getRange()
和getCell()
都会返回范围对象。您需要在某个范围内拨打getValue()
或getValues()
来获取数据。在这种情况下,由于您的第一个getRange("B1")
仅引用单个单元格,因此您不需要getCell(1,1)
lastPlusOnes = ss.getRange("B1").getValue();
https://developers.google.com/apps-script/reference/spreadsheet/range#getValue()
用于设置相同的适用。单个单元格中的单个值将是:
Range.setValue( number | string )
或者如果你有一堆行和列,那么首先选择合适的大小范围,然后使用setValues([][])
答案 1 :(得分:3)
getCell()返回一个Range对象..你需要添加.getValue()方法来获取范围内单元格的值。
https://developers.google.com/apps-script/reference/spreadsheet/range#getValue()