使用EmbeddedChartBuilder并"获取列超出范围"

wil*_*ild 6 google-apps-script

这是我的短函数,不断得到"那些列超出范围"

function myFunction() {
var  sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getDataRange();
var chartBuilder = sheet.newChart();
chartBuilder.addRange(range).setChartType(Charts.ChartType.LINE).setOption('title', 'My Line Chart!');
sheet.insertChart(chartBuilder.build());
}
Run Code Online (Sandbox Code Playgroud)

我也试过sheet.getRange("A1:B6")了.

第1列是日期,第2列是整数.标准插入图形GUI可以按原样使用数据.

有没有人在新的EmbeddedGraph课程中取得任何成功?谢谢

Ser*_*sas 10

问题不在于输入数据范围,而是在构建过程中放置​​图表的位置.它试图将图表放在页面上的数据之上.您需要使用setPositionchartBuilder来告诉图表应该去哪里.我相信如果你没有指定任何东西,它会尝试把它放在第1行第1列,这意味着它可能会试图覆盖你的数据.

尝试用此替换你的最后一行

sheet.insertChart(chartBuilder.setPosition(7, 1, 1, 1).build());
Run Code Online (Sandbox Code Playgroud)

setPosition参数为:int Row,int Col,Row offset,Col offset.