【问题标题】:How to Set value in Google Spreadsheet using google-script?如何使用谷歌脚本在谷歌电子表格中设置值?
【发布时间】:2013-12-01 09:56:30
【问题描述】:

帮我编写一个谷歌脚本来为谷歌电子表格的特定单元格设置一个值!

 function ...
 {     
    var email_address = ....
 }
 ....
 ....
 var values = copyDoc.getSheetValues(1, 1, 33, 7);
 Logger.log('values:');
 Logger.log(values);
 Logger.log('values logged');

现在我想在我的电子表格中设置一个值! 我怎样才能做到这一点? 我尝试了以下代码,但效果很好。

 for(var i=1;i<34;i++)
 {
   for(var j=1;j<8;j++)
   {
     if (values[i][j]=="varEmail")
     {
       values[i][j]=email_address;
     }
   }
 }

我在电子表格中为第 10 行和 A、B、c 列分配了“varEmail”作为单元格值(如大的水平单元格)。现在我想用变量 email_address 中的值替换它。 请告诉我该怎么做?

【问题讨论】:

    标签: google-apps-script google-drive-api google-sheets google-spreadsheet-api


    【解决方案1】:

    在您的示例中,values 是一个数组,其中包含从第 1 行第 1 行开始的数据,因此只需将其写回原处,如下所示:

    SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(1,1,values.length,values[0].length).setValues(values);
    

    您可能希望根据您的用例使用getSheetByNamegetSheets()[sheet index] 以不同方式获取工作表,但这将是您的选择

    【讨论】:

    • 能详细说一下吗?我不明白你要我在哪里替换我的代码!
    • ... if (values[i][j]=="varEmail") { Logger.log('value found'); SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(1,1,values.length,values[0].length).setValue(email_address); Logger.log('电子表格中的 EMAIL 值已更改'); } ...我编写了这样的代码!现在我得到的错误是:TypeError:无法从未定义中读取属性“1”。 (第 68 行,文件“代码”)。即 if (values[i][j]=="varEmail")!
    • 不,只在主循环之后使用设置值。如果没有找到条件为真,它将无效,如果对数组进行任何更改,则将更新SS。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-15
    • 2012-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多