Javascript 创建条形图-添加行
我正试图从谷歌电子表格中创建一个条形图。我不想手动添加每一列和每一行,所以这个例子似乎应该可以使用for循环来工作并自动化这个过程 下面的例子来自 错误显示“行的单元格太多。最多应为列数。”Javascript 创建条形图-添加行,javascript,google-apps-script,google-sheets,google-visualization,Javascript,Google Apps Script,Google Sheets,Google Visualization,我正试图从谷歌电子表格中创建一个条形图。我不想手动添加每一列和每一行,所以这个例子似乎应该可以使用for循环来工作并自动化这个过程 下面的例子来自 错误显示“行的单元格太多。最多应为列数。” 函数doGet(){ //从电子表格中获取数据 ssID='SpreadsheetID';//将其更改为您的 var SS=电子表格应用程序.openById('ssID'); var sheet=SS.getSheets()[0]; var data=sheet.getRange('A1:G7').get
函数doGet(){
//从电子表格中获取数据
ssID='SpreadsheetID';//将其更改为您的
var SS=电子表格应用程序.openById('ssID');
var sheet=SS.getSheets()[0];
var data=sheet.getRange('A1:G7').getValues();
//建立数据表
var dataTable=Charts.newDataTable();
//添加列类型
dataTable.addColumn(Charts.ColumnType.STRING,数据[0][0]);
对于(var i=1;i您选择了一个范围'A1:G7'
。这是7行7列。现在,您可以通过添加列开始构建数据表
1:dataTable.addColumn(Charts.ColumnType.STRING,数据[0][0]);
2-6:for(var i=1;iThanks。现在由于某种原因,当我尝试使用DATE作为ColumnType时,它会给出一个错误“Object与ColumnType不匹配”数据在工作表上是日期格式。如果我有纯文本格式的数据,它将工作,但如果我有日期格式,它将不工作。列中的所有数据必须是相同的类型,并且必须与您指定的列类型匹配。空格被解释为字符串。有关详细信息,请参见和。列中没有空格,并指定为日期。仍然获胜我不接受。
function doGet(){
//Get the data from spreadsheet
ssID ='SpreadsheetID';//Change it to yours
var SS = SpreadsheetApp.openById('ssID');
var sheet = SS.getSheets()[0];
var data = sheet.getRange('A1:G7').getValues();
//Build data table
var dataTable = Charts.newDataTable();
//Add Column types
dataTable.addColumn(Charts.ColumnType.STRING, data[0][0]);
for(var i=1; i<data[0].length-1; i++){
dataTable.addColumn(Charts.ColumnType.NUMBER, data[0][i]);
}
//Add rows
for(var j=1; j<data.length; j++){
dataTable.addRow(data[j]);
Logger.log(data[j])
}
//Create and build chart
var chart = Charts.newBarChart()
.setDataTable(dataTable)
.setTitle("Sales by store")
.build();
var app = UiApp.createApplication().setTitle("AST Chart");
app.add(chart)
return app;
}
//Add Column types
dataTable.addColumn(Charts.ColumnType.STRING, data[0][0]);
for(var i=1; i<data[0].length; i++) {
dataTable.addColumn(Charts.ColumnType.NUMBER,data[0][i]);
}
//Add Column types
for(var i=0; i<data[0].length; i++) {
if (i == 0) {
dataTable.addColumn(Charts.ColumnType.STRING,data[0][i]);
}
else {
dataTable.addColumn(Charts.ColumnType.NUMBER,data[0][i]);
}
}
//Add Column types
for(var i=0; i<data[0].length; i++){
dataTable.addColumn(
i==0 ? Charts.ColumnType.STRING : Charts.ColumnType.NUMBER,
data[0][i]);
}