我正在使用Google Sheets API从电子表格中读取数据,但该电子表格中有很多工作表。而且我找不到使用gid电子表格链接中的值来指定我必须读取的工作表的方法。
我检索数据的代码是:
ValueRange result = service.spreadsheets().values().get(spreadsheetId, range).execute();
Run Code Online (Sandbox Code Playgroud)
在上面的get()方法中有一个参数 for spreadsheetId,但没有 for sheetId。如何指定要从中检索数据的工作表?
我希望此脚本获取活动行并设置列并将其添加到脚本中的结果中。我可以让脚本查看活动行上的一个范围而不是一个单元格值。我想要来自活动行的第 6 列数据。此数据显示在 HTML 弹出框中。当它运行时,它会查看此脚本以填充弹出框中的一个框。请帮忙,谢谢。
function studentid() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('Your Region List');
var values = sheet.getRange(2, 6,sheet.getLastRow() - 1);
var result = new Array(values.getLastColumn() - 1);
for(i =0; i < 25; i++) {
result[i] = values.getCell(i + 1, 1).getValue();
}
return result;
Run Code Online (Sandbox Code Playgroud) 鉴于以下 Google Apps 脚本代码片段:
function myFunction() {
var files = DriveApp.getFolderById('xxx').searchFiles('123')
while (files.hasNext()) {
var file = files.next()
Logger.log(file.getName())
}
}
Run Code Online (Sandbox Code Playgroud)
我越来越:
无效参数:q(第 x 行,文件“代码”)
从while (files.hasNext())语句行。
该行不包含我知道的任何错误。有趣的是,当我.searchFiles('123')与交换时.getFiles(),错误不会出现并且代码会执行。
这是否意味着.searchFiles('123')返回的对象有问题(它应该返回FileIterator对象)?不幸的是,Javascript 只在运行时检查返回数据类型,所以在我运行它之前我无法真正查看它是否正确。
去年我获得了IMPORTXML这样的支持,因此我可以获得Google表格的实时评分更新.我今天开始使用它准备2018年,它仍然在拉去去年的数据.我不熟悉如何获得今年所需的信息,如果它已经改变或者它太快了.我希望有更多知识的人可以指导我或指向正确的方向?
=importxml("http://www.nfl.com/liveupdate/scorestrip/ss.xml","//g/@eid" )
Run Code Online (Sandbox Code Playgroud)
这是我使用的领域之一,它仍然在拉2017.谢谢!
自从 2018 年将复选框添加到原生 Google Sheets UI 以来,开发人员一直希望以编程方式读取它们或以某种方式处理它们,例如将它们视为“单选按钮”、将它们重置为“未选中”或将它们设置为“检查过”。
我们如何才能最好地在给定的 Google Sheet 中找到复选框,以便避免在操作其他单元格的状态时意外修改它们?
一种方法是检查工作表上的值并将任何true/false值视为复选框:
function getAllCheckboxes() {
const wb = SpreadsheetApp.getActive();
const checkboxes = [];
wb.getSheets().forEach(function (sheet) {
var rg = sheet.getDataRange();
var values = rg.getValues();
var sheetCheckBoxes = [];
values.forEach(function (row, r) {
row.forEach(function (val, c) {
// Checkbox values are stored as `false` (unchecked) and `true` (checked)
if (val === false || val === true) {
sheetCheckBoxes.push({
rowIndex: r,
colIndex: c,
value: val,
r1c1: "R" + …Run Code Online (Sandbox Code Playgroud) 我的谷歌文档在打开谷歌表格文件时应该提示一个登录框,并且根据密码,它应该显示一个特定的选项卡。例如,对于“password1”,它应该允许用户仅看到选项卡“Sheet1”,而其他工作表应该被隐藏。同样,对于“password2”,它应该允许用户仅查看和处理选项卡“Sheet2”。
我尝试运行以下代码,但它显示一些错误。
function showLoginDialog() {
var sheet3 = SpreadsheetApp.getActiveSheet('Sheet3');
sheet3.hideSheet();
var sheet2 = SpreadsheetApp.getActiveSheet('Sheet2');
sheet2.hideSheet();
var sh = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet('Sheet1');
var ui = SpreadsheetApp.getUi();
var prompt = ui.prompt('Password','Enter Password',ui.ButtonSet.OK_CANCEL);
var response = prompt.getResponseText();
var button = prompt.getSelectedButton();
if(button==ui.Button.OK) {
if(response=='pwd3') {
sheet3.activate();
}//end of inner if
if(response=='pwd2'){
sheet2.activate();
}
}//end of main if
}//end of function
Run Code Online (Sandbox Code Playgroud)
Google 表格文件在打开时应要求输入密码,并且应根据密码显示相应的工作表。