Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 根据GoogleScript更改大型工作表列表中的数据_Google Apps Script_Google Sheets - Fatal编程技术网

Google apps script 根据GoogleScript更改大型工作表列表中的数据

Google apps script 根据GoogleScript更改大型工作表列表中的数据,google-apps-script,google-sheets,Google Apps Script,Google Sheets,你好 我尝试更改一个非常大的列表中的任何数据。对于此作业,我创建了以下脚本: 函数myProjLibreVersion(){ var ss=SpreadsheetApp.getActiveSpreadsheet(); var sheet=ss.getSheetByName(“BigList”); var lr=sheet.getLastRow(); var lc=sheet.getLastColumn(); 对于(var i=1;i表实际上并没有那么大。您需要使用var array=getVa

你好

我尝试更改一个非常大的列表中的任何数据。对于此作业,我创建了以下脚本:

函数myProjLibreVersion(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var sheet=ss.getSheetByName(“BigList”);
var lr=sheet.getLastRow();
var lc=sheet.getLastColumn();

对于(var i=1;i表实际上并没有那么大。您需要使用
var array=getValues()
而不是
getValue()
,然后遍历该
数组

大概是这样的:

function myProjLibreVersion() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("BigList");
  var data = ss.getDataRange().getValues();

  var lr = data.length;
  var lc = data[0].length;

  for (var i = 0; i < lr; i++) {
    if (data[i][3] == "ProjectLibre") {
      Browser.msgBox("found a Value Row =" + i +"\\nColoumn = 4");
      // sheet.getRange(i,4).activate(); // <-- I'm not sure what this for
    }
  }
  Browser.msgBox("Jup");
}
函数myProjLibreVersion(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var sheet=ss.getSheetByName(“BigList”);
var data=ss.getDataRange().getValues();
var lr=data.length;
var lc=数据[0]。长度;
对于(变量i=0;i
function myProjLibreVersion() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sh = ss.getSheetByName("BigList");
  const rg = sh.getRange(1,1,sh.getLastRow(),sh.getLastColumn());
  const vs = rg.getValues();
  let html = '';
  vs.forEach((r,i)=>{
    if(r[3] == "ProjectLibre") {
      html += `<br>Row: ${i+1} Column: 4`;
    }
  });
  if(html.length>0) {
    SpreadsheetApp.getUi().showModelessDialog(HtmlService.createHtmlOutput(html),"ProjectLibre")
  }
 }
函数myProjLibreVersion(){
const ss=SpreadsheetApp.getActiveSpreadsheet();
const sh=ss.getSheetByName(“BigList”);
const rg=sh.getRange(1,1,sh.getLastRow(),sh.getLastColumn());
const vs=rg.getValues();
让html='';
vs.forEach((r,i)=>{
if(r[3]=“ProjectLibre”){
html+=`
行:${i+1}列:4`; } }); 如果(html.length>0){ SpreadsheetApp.getUi().showModelessDialog(HtmlService.createHtmlOutput(html),“ProjectLibre”) } }
Cool。我要用
getDataRange()更改部件
getRange(1,1,sh.getLastRow(),sh.getLastColumn());
这有意义吗?你认为呢?我通常会这样做,但我怀疑他们有标题,如果他们这样做的话更容易更改,这可能会比我解释得更好。所有的数组方法都很值得学习。你真的可以用更少的编码来完成更多的工作。wowww-正是我需要的-非常感谢-我已经完成了研究了脚本,它看起来非常符合逻辑。但是,我被变量“r”(vs.forEach((r,I)=>{)卡住了。你能简单地给我解释一下“r”吗?