以下是我如何创建来自Google电子表格的dataTable。
var params = {
valueRenderOption: "UNFORMATTED_VALUE",
spreadsheetId: '15WX-5oiu54oiu35oi3u4o5o34iu5ou43oiu534',
range: 'Sheet2!A:H', // Retrieve the values of "A:H".
};
var request = gapi.client.sheets.spreadsheets.values.get(params);
request.then(function(response) {
var values = response.result.values.map(function(e) {return [e[0], e[1], e[2], e[3], e[4], e[5], e[6], e[7]]}); // Added
var w = new google.visualization.ChartWrapper({dataTable: values}); // Added
var dataTable = w.getDataTable();
dataTable.setColumnProperty(2, 'role', 'tooltip')
dataTable.setColumnProperty(3, 'role', 'style')
dataTable.setColumnProperty(4, 'date', 'Start');
dataTable.setColumnProperty(5, 'date', 'End');
dataTable.setColumnProperty(2, {type: 'string', role: 'tooltip', p: {html: true}});
......
如何将第6列的列属性(indexColumn5)指定为日期?
如果我创建了一个chartwrapper,它将失败并显示错误“Column 6 is a date”。
var chartwraprange = new google.visualization.ControlWrapper({
controlType: 'DateRangeFilter',
containerId: 'controldaterange',
dataTable:dataTable,
options: {
filterColumnIndex: 6,
'ui': {
'label': '',
format:{pattern: "MM-dd-yyyy"},
},
}
});
e[5]
的var values = response.result.values.map(function(e) {return [e[0], e[1], e[2], e[3], e[4], e[5], e[6], e[7]]})
作为日期对象。
e[5]
是“F”栏。如果我的理解是正确的,那么这个修改怎么样?在此修改中,我修改了您的脚本。因此,请将此视为几种解决方案中的一种。
在此修改中,作为序列号检索的日期值将转换为unix时间和日期对象。请在脚本中反映以下修改。
var values = response.result.values.map(function(e) {return [e[0], e[1], e[2], e[3], e[4], e[5], e[6], e[7]]});
var values = response.result.values.map(function(e) {return [e[0], e[1], e[2], e[4], new Date((e[5] - 25569) * 86400 * 1000), e[6]]});
如果我误解了你的问题,我道歉。