我在我正在使用的电子表格中有数据,并且某些字段已超链接以转到另一个页面。当我将数据拉到仪表板上的表格时,超链接就消失了。我需要超链接在应用程序中保持功能。
我正在使用的代码如下:
function doGet() {
var ss = SpreadsheetApp.openById('1BMFFT2oj9QCwOiMnSQ7YbfrJwGz6x7Q9Kf7h-_IyI5Q');
var data = ss.getDataRange();
var dowFilter = Charts.newCategoryFilter().setFilterColumnIndex(2).build();
var yearFilter = Charts.newCategoryFilter().setFilterColumnIndex(3).build();
var monthFilter = Charts.newCategoryFilter().setFilterColumnIndex(4).build();
var tableChart = Charts.newTableChart()
.setDataViewDefinition(Charts.newDataViewDefinition().setColumns([1,2,4,5,6,9,7,8]))
.setDimensions(800, 400)
.getFormulas()
.build();
var lineChart = Charts.newLineChart()
.setDataViewDefinition(Charts.newDataViewDefinition()
.setColumns([1,8,9]))
.setDimensions(800, 400)
.setTitle('Email Open and Click Rate')
.setXAxisTitle('Date')
.setYAxisTitle('Rates')
.build();
var dashboard = Charts.newDashboardPanel().setDataTable(data)
.bind([dowFilter, yearFilter, monthFilter], [tableChart, lineChart])
.build();
var app = UiApp.createApplication();
var filterPanel = app.createVerticalPanel();
var chartPanel = app.createVerticalPanel();
filterPanel.add(dowFilter).add(yearFilter).add(monthFilter).setSpacing(10);
chartPanel.add(tableChart).add(lineChart).setSpacing(10);
dashboard.add(app.createVerticalPanel().add(filterPanel).add(chartPanel));
app.add(dashboard);
return app;
}
答案 0 :(得分:1)
Google Apps脚本中的图表服务是Google Visualization library的包装,但它不支持其所有功能。嵌入式HTML就是其中的一个例子。您无法使用图表服务执行此操作。
相反,您需要使用HtmlService,并从客户端JavaScript调用Visualization Library。
有关向图表组件添加可点击链接的示例,请参阅Insert Links into Google Charts api data?。
有关移动现有设计的工作,请参阅我的博客Converting from UiApp + Chart Service to Html Service + Google Visualization API。