如何使用Google Apps脚本将2D数组写入Google表格中的单个列? [英] How to write a 2D array to a single column in Google Sheets, using Google Apps Script?

查看:47
本文介绍了如何使用Google Apps脚本将2D数组写入Google表格中的单个列?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正试图将数组写到单列中,但是尽管一切对我来说似乎正确,但它总是使我出错:

I'm trying to write the array to a single column, but despite everything seems right to me, it keeps throwing me an error:

这是代码段:

function getGFTickersData() {
  var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("LIST OF STOCKS");
  var tickerRng = ss.getRange(2, 1, ss.getLastRow(), 1).getValues();
  //var TDSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("TickersData");
  var TDSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet10");
  var tickerArr = [];
  for (var b = 0; b < tickerRng.length; b++) {
    var tickerToArr = [tickerRng[b]];
    if (tickerToArr != '') {
      var gFinFormula = "=query(googlefinance(" + '"' + tickerToArr + '"' + ",'all shares'!A4,'all shares'!D3,'all shares'!D4,'all shares'!D5)," + '"' + "select *" + '"' + ",1)";
      var repeated = [].concat(... new Array(105).fill(tickerToArr))
      tickerArr.push(repeated)
    }
  }
  Logger.log(tickerArr[0]);
  TDSheet.getRange(TDSheet.getLastRow() + 1, 1, tickerArr.length, 1).setValues(tickerArr);
}

赞赏任何指针!

推荐答案

根据您的以下答复,

该数组由大约200k元素组成,每个元素在数组中显示105次.我想将所有这些都写在一个列中,一个在另一个的顶部.

The array is composed of about 200k element, each showing in the array 105 times. I want to write all of them, one on the top of the other in a single column.

接下来的修改如何?

tickerArr.push(repeated)

收件人:

tickerArr = tickerArr.concat(repeated);

参考文献:

  • push()
  • concat()
  • 这篇关于如何使用Google Apps脚本将2D数组写入Google表格中的单个列?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆