2017-08-11 56 views
1

我有一套最好的社區成員提供的一組漂亮的代碼。這段代碼的功能是從Google電子表格中讀取單元格值,然後自動檢查html表單的複選框。現在我想讓代碼讀取一系列電子表格的含義,使值存儲在數組中,並以html形式執行相同的功能。將我的代碼從Variable更改爲Array

這裏是一個讀取單個細胞值的Javascript: -

function getValues(){ 
var ss = SpreadsheetApp.getActiveSpreadsheet(); 
var sheet = ss.getSheetByName("Sheet1"); 
var match1 = sheet.getRange("B2").getValue(); 
return match1; 
} 

我的新JS代碼已經改變說 MATCH1 = sheet.getRange(2,2,5,1).getValue(); 我的HTML代碼應該如何改變?

這裏是執行自動複選框功能中的index.html: -

<script> 
google.script.run.withSuccessHandler(checkDefault).getValues(); 

function checkDefault(val){ 
var checkBoxName = "name"+val; 
document.getElementById(checkBoxName).checked = true; 
} 
</script> 

任何幫助表示讚賞。謝謝!

回答

1

要讀取範圍,您需要使用範圍的getValues()方法,而不是getValue(); getValue返回最左上角的單元格內容。
getValues()將返回一個行數組。每行都是該行內的單元格數組。
請注意,它返回一個數組數組,即使它只是一列寬或一行高。
所以,如果你想要一個數組,你可以

var match1 = sheet.getRange("B2").getValues().map(function(row) {return row[0]}); 

在腳本嘗試

google.script.run.withSuccessHandler(checkDefault).getValues().forEach(checkDefault); 
+0

我有細胞 「B2」 的一組值= 「1」 細胞 「B3」= 2,單元格「B4」= 3. – Mask

+0

我需要幫助HTML代碼讀取數組。 – Mask

+0

是否這樣?請參閱編輯 –