首页 > 解决方案 > 从谷歌工作表单元格访问数据时应用程序脚本异常缓慢

问题描述

我有这个简单的脚本:

function counter() {
  var time1 = new Date();
  function debugme(text){
    var time2= new Date();
    var timeval = time2.getTime() - time1.getTime();
    Logger.log(text +" : "+timeval+" ms")
    time1 = new Date();
  }

  var Sheet = SpreadsheetApp.getActiveSheet();
  debugme("get sheet");
  var firstrow = Sheet.getRange('B3').getValue();
  debugme("get cell data");
}

输出 :

get sheet : 6 ms
get cell data : 27142 ms

我只尝试从单元格获取数据,但获取单元格数据:27142 ms非常慢。我的工作表中有很多公式,但 B3 没有公式(静态值)。有谁知道是什么导致了这个问题?

编辑 :

这是链接:https ://docs.google.com/spreadsheets/d/1KmJKGZscvzUbS7y7trsaE1vcbpYsSB0yQ_A63yEdeA0/edit?usp=sharing

只需按下大红色按钮即可执行脚本。

标签: google-apps-scriptgoogle-sheets

解决方案


正如其他人所说,这可能是您的工作表特有的问题。但是,访问工作表的数据通常比执行 asheet.getDataRange().getValues()然后从您从中获得的数组中访问您的值要慢。如果您需要在代码中的多个点访问值,或者如果您想遍历工作表,它特别有用。


推荐阅读