Javascript 通过带有数组的脚本在Google工作表中设置单元格颜色
将单元格值放入数组非常简单。然后可以编辑所需的任何单个或多个单元格(在数组中)。然后将相同的数组写回工作表。如下图所示Javascript 通过带有数组的脚本在Google工作表中设置单元格颜色,javascript,arrays,google-apps-script,google-docs,Javascript,Arrays,Google Apps Script,Google Docs,将单元格值放入数组非常简单。然后可以编辑所需的任何单个或多个单元格(在数组中)。然后将相同的数组写回工作表。如下图所示 var adSpendExprtSheet = ss.getSheetByName("Ad Spend Export"); var adSpendExprtSheetData = adSpendExprtSheet.getRange(1 ,1, adSpendExprtSheet.getLastRow(), adSpendExprtSheet.getLast
var adSpendExprtSheet = ss.getSheetByName("Ad Spend Export");
var adSpendExprtSheetData = adSpendExprtSheet.getRange(1 ,1, adSpendExprtSheet.getLastRow(), adSpendExprtSheet.getLastColumn()).getValues();
然后可以更改刚刚保存的数组中的值
adSpendExprtSheetData[0][0] = "Changing first cell in array"
然后我们可以使用相同的数组。我们已经更新了。把它传回去写在实际的纸上
adSpendExprtSheet.getRange(1 ,1, adSpendExprtSheet.getLastRow(), adSpendExprtSheet.getLastColumn()).setValues(adSpendExprtSheetData);
我们可以用这个来设置颜色吗
现在我需要得到单个细胞的范围。然后使用立根台(“00ff00”)
我可以将所有颜色值放入一个数组中吗?使用十六进制值更改单元格的颜色。然后将该数组写回工作表
我需要优化我的脚本。而不是花5分钟。它可以在几秒钟内完成。只需在纸上读写几次。不是几百
我将感谢任何帮助 在您的情况下,如何使用
getBackgrounds()
和setBackgrounds(color)
?在这种情况下,您可以像在问题中使用getValues()
和setValues()
一样使用它。当您的脚本被修改时,它将变成如下所示
修改脚本:
- 在本例中,使用
检索的值是二维数组。可以使用getBackgrounds()
将其放入单元格中。这样,我认为流程成本将比setBackgrounds()
和getBackground
的流程成本更低setBackground
- 如果要将一种颜色设置为该范围,还可以使用以下脚本
var ss = SpreadsheetApp.getActiveSpreadsheet(); var adSpendExprtSheet = ss.getSheetByName("Ad Spend Export"); var range = adSpendExprtSheet.getRange(1 ,1, adSpendExprtSheet.getLastRow(), adSpendExprtSheet.getLastColumn()); range.setBackground("#FF0000");
var ss = SpreadsheetApp.getActiveSpreadsheet();
var adSpendExprtSheet = ss.getSheetByName("Ad Spend Export");
var range = adSpendExprtSheet.getRange(1 ,1, adSpendExprtSheet.getLastRow(), adSpendExprtSheet.getLastColumn());
range.setBackground("#FF0000");