我正在尝试对以下代码进行故障排除(主要问题是我无法显示范围)并且我已经包含了一个日志命令来显示正在打印的内容。当我运行doGet()并转到View>记录下来:" [16-10-07 17:31:19:145 EDT]你的号码:范围"
sheet.getRange(" H1:DE1")指的是具有日期的行的一部分。它不应该列出行的内容吗?
function doGet() {
// The code below opens a spreadsheet using its id and logs the name for it.
// Note that the spreadsheet is NOT physically opened on the client side.
// It is opened on the server only (for modification by the script).
var ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/1aCXXXXXXXXXXXXw61H6VuigRf6YykW8O6A0WWmG46VO7ijI/edit#gid=1673918325');
Logger.log(ss.getName());
var sheet = ss.getSheets()[1];
var range = sheet.getRange("H1:DE1");
Logger.log('number for you: %s', range);
// Calling this method with "true" sets the first line to be the title of the axes
var datatable = range.getDataTable(true);
// Note that this doesn't build an EmbeddedChart, so we can't just use
// Sheet#insertChart(). If we want to do that, we should use
// sheet.newChart().addRange() instead.
var chart = Charts.newBarChart()
.setDataTable(datatable)
.setOption("title", "Your Title Here")
.build();
var app = UiApp.createApplication();
app.add(chart);
ss.show(app);
}
有人可以提供建议吗?
答案 0 :(得分:1)
您无法以这种方式打印范围对象。相反,您必须撰写range.getRow()
或range.getColumn()
。请注意,您具有range
对象的各种get函数。
答案 1 :(得分:0)
范围对象不包含工作表值。为了让他们使用以下任何一种:
values = range.getValues(); // gets internal values
values = range.getDisplayValues(); // gets displayed values
修复应用脚本中错误的最佳方法是使用内置调试器(不是Logger对象,而不是执行脚本)和断点,如下所示: