尝试在嵌入式折线图生成器中使用 addRange 时出错

问题描述 投票:0回答:1

在尝试了多种解决方案后,我将其发布在这里。

我在 Gsheet 中的数据看起来像

enter image description here

我正在尝试绘制折线图,我的代码如下

var c_data = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("chart_data");
var curr_date = Utilities.formatDate(new Date(), "GMT+1", "dd/MM/yyyy");
//Inserting New Sheet here
var new_ss = SpreadsheetApp.getActiveSpreadsheet().insertSheet('Numbers - ' + curr_date);
//Get data Range for chart here
var n_data = c_data.getRange("I2:J").getValues(); // I logged and checked here its a 2D array

var chart_d = new_ss.newChart().asLineChart().addRange(n_data)
  .setTitle("Help on the Error :(")
  .setXAxisTitle('Numbers')
  .setYAxisTitle('Months')
  .setPosition(5,5,0,0)
  .setOption('width', 700)
  .setOption('height', 200)
  .build();
 

我收到错误

错误
异常:参数 (number[]) 与 SpreadsheetApp.EmbeddedLineChartBuilder.addRange 的方法签名不匹配。

javascript google-apps-script exception charts google-sheets-formula
1个回答
2
投票

addRange 的参数是单元格区域。不是单元格值。 我做了两处更改,包括图表的格式。

  var c_data = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("chart_data");
  var curr_date = Utilities.formatDate(new Date(), "GMT+1", "dd/MM/yyyy");
  //Inserting New Sheet here
  var new_ss = SpreadsheetApp.getActiveSpreadsheet().insertSheet('Numbers - ' + curr_date);
  //Get data Range for chart here
//>>>>_1
  // var n_data = c_data.getRange("I2:J").getValues(); // I logged and checked here its a 2D array
  var n_data = c_data.getRange("I2:J"); // I logged and checked here its a 2D array
//<<<<_1
  var chart_d = new_ss.newChart().asLineChart().addRange(n_data)
    .setTitle("Help on the Error :(")
//>>>>_2
    // .setXAxisTitle('Numbers')
    // .setYAxisTitle('Months')
    .setXAxisTitle('Months')
    .setYAxisTitle('Numbers')
//<<<<_2
    .setPosition(5, 5, 0, 0)
    .setOption('width', 700)
    .setOption('height', 200)
    .build();

  new_ss.insertChart(chart_d);
© www.soinside.com 2019 - 2024. All rights reserved.