Brief:我想通過使用嵌入式Google腳本中生成的數組來更改Google sheets EmbeddedChart中的數據,而無需先將數據注入單元格。在Google工作表中將陣列添加爲EmbeddedChart的「範圍」
長:我有一個綁定腳本來更新一個已存在的電子表格。我修改js中的數據,並希望更改嵌入的圖表以使用生成的數據數組,而不將數據放在表上。我在技術上不關心它是一個EmbeddedChart我只是想用一個圖形制作一個摘要頁面而不用一張額外的表格來污染文檔。不希望將HTML頁面放在表單中。
我試過各種選擇。
.setDataTable()
不是一種方法EmbeddedChartBuilder
,不像正常(HTML)谷歌圖表。我假設我缺少一些簡單的東西,比如某些類將數組轉換爲與DataTable或Excel的名稱類似的僞範圍實例,而無需觸摸工作表。
最糟糕的情況:我不知道在Google工作表中添加帶id id的div的方法,是否有一種方法?
方式進行測試:
sheet.getCharts()[0].modify().addRange([2,3,4,5]);
//無法轉換陣列到範圍。sheet.getCharts()[0].modify().addRange("{2,3,4,5}");
//找不到方法addRange(string)。- (絕望...)
sheet.getCharts()[0].modify().setDataTable();
//在對象EmbeddedChartBuilder中找不到函數setDataTable。 - (絕望...)
sheet.updateChart(chartFromCharts);
//找不到方法updateChart(Chart)。 將數組轉換爲範圍對象而不保存在紙上
//演示腳本。函數populate(){var 0 = [1,2,3,4,5]; var sheet = SpreadsheetApp.getActiveSpreadsheet()。getActiveSheet(); var chart = sheet.getCharts()[0] .modify(); chart.setOption('title',「Changed in script ...」); cchart = chart.asColumnChart(); (),addRow([「A」,5])。addRow() [ 「B」,6])建立();
//嘗試1.絕對不要接受數組。 //chart.addRange(a); //無法將數組轉換爲範圍。 //cchart.addRange(a); //無法將數組轉換爲範圍。 //試試2.萬一它接受DataTable //chart.addRange(dt); //找不到方法addRange(DataTable)。 // Try 3. Desparate hack ... // new google.visualization.ColumnChart(getCharts()[0] .getId())。draw(dt,options); // ReferenceError:「google」未定義 //我是否可以訪問它? //$(getCharts()[0].getId()).html("Hacked「)// ReferenceError:」$「未定義。 // again ... //document.getElementByID(getCharts()[0] .getId())// ReferenceError:「document」未定義。 // Try 5. //sheet.updateChart(Charts.newColumnChart()。build()); //找不到方法updateChart(Chart)。 // Try 4.文檔中缺少方法? //圖表。addDataTable(一); //在對象EmbeddedChartBuilder中找不到函數addDataTable。
//cchart.addDataTable(a); //在對象EmbeddedColumnChartBuilder中找不到函數addDataTable。
sheet.updateChart(chart.build()); }
你到目前爲止嘗試過什麼?你能澄清一點你想做什麼?...檢查這個文件如何在Stack Overflow中提出問題http://stackoverflow.com/help/how-to-ask – Gerardo
我的目標是簡單地在谷歌表格中的圖表,而不必製作具有所需數據的新工作表,並且不需要在工作表之外製作HTML頁面或類似表格,因爲這會損害其目的。謝謝。 –