Google Sheet getValue()函数逐渐减慢

时间:2016-12-10 19:13:47

标签: javascript

我正在使用带有JavaScript的Google Sheet脚本来处理一些数据。我注意到它的getValue()函数需要很长时间才能运行,特别是在为不同的单元运行多次时。以下是我的测试功能。

function timeTest (num) {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName('Transactions');

  var log = '';
  var preSec = new Date().getTime() / 1000;

  for (var i = 4; i < num; i++) {
     var fc = sheet.getRange(i,1).getValue(); // values are like 100, 110,120 etc
     if (i % 20 == 0) {
        var seconds = new Date().getTime() / 1000;
        var secDiff = seconds - preSec;
        log = log + "row " + i + " " + secDiff + "\n";
     }
  }

  return log;
}

我得到了以下结果。基本上,每20行需要更长的运行时间。       第20行0.07800006866455078       第40行0.08800005912780762       第60行0.0989999771118164       第80行0.1100001335144043       第100行0.12199997901916504       第120行0.2090001106262207       第140行0.22099995613098145       第160行0.23099994659423828       第180行0.24200010299682617       第200行0.25300002098083496       第220行1.50600004196167       第240行3.064000129699707       第260行4.437000036239624       第280行5.789000034332275       第300行7.088000059127808       第320行8.038000106811523       第340行8.91100001335144       第360行9.603000164031982       第380行10.216000080108643       第400行10.258000135421753       第420行10.271000146865845       第440行10.282999992370605       第460行10.295000076293945       第480行10.308000087738037

如果我评论了getValue()行,我得到以下内容---需要几毫秒才能运行       第20行       第40行0       第60行       第80行       第100行0       第120行0       第140行       第160行       第180行0       第200行0.0009999275207519531       第220行0.0009999275207519531       第240行0.0009999275207519531       第260行0.0009999275207519531       第280行0.0009999275207519531       第300行0.0009999275207519531       第320行0.0009999275207519531       第340行0.0009999275207519531       第360行0.0019998550415039062       第380行0.0019998550415039062       第400行0.0019998550415039062       第420行0.0019998550415039062       第440行0.0019998550415039062       第460行0.0019998550415039062       第480行0.0019998550415039062

有什么想法? TIA

0 个答案:

没有答案