簡體   English   中英

在Google工作表中將數組添加為EmbeddedChart的“范圍”

[英]Add array as “range” of EmbeddedChart in Google sheets

簡介:我想通過使用嵌入式Google腳本中生成的數組來更改Google表格EmbeddedChart中的數據,而無需先將數據倒入單元格中。

Long:我有一個綁定腳本,可以更新一個預先存在的電子表格。 我修改了js中的數據,並希望更改嵌入式圖表以使用生成的數據數組而不將數據放在表中。 從技術上講,我不在乎它是EmbeddedChart,我只想制作一個帶有圖形的摘要頁面,而不用多余的工作表污染文檔。 寧願不要在工作表之外制作HTML頁面。

我嘗試了各種選擇。

與常規(HTML)Google圖表不同, .setDataTable()不是EmbeddedChartBuilder的方法。 我以為我缺少一些簡單的東西,例如某個類,該類將數組轉換為類似於DataTable或Excel名稱的偽范圍實例,而無需觸動工作表。

最壞的情況:我不知道在Google表格中添加ID為attrib的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 a = [1,2,3,4,5]; var sheet = SpreadsheetApp.getActiveSpreadsheet()。getActiveSheet(); var chart = sheet.getCharts()[0] .modify(); chart.setOption('title',“腳本已更改...”); cchart = chart.asColumnChart(); dt = Charts.newDataTable()。addColumn(Charts.ColumnType.STRING,“類別橫坐標”).addColumn(Charts.ColumnType.NUMBER,“數值縱坐標”).addRow([“ A”,5])。addRow([ 。 “B”,6])建立();

    //嘗試1.最小化以防萬一它接受數組。 //chart.addRange(a); //無法將數組轉換為范圍。 //cchart.addRange(a); //無法將數組轉換為范圍。 //嘗試2。Desparate,以防萬一它接受DataTable //chart.addRange(dt); //找不到方法addRange(DataTable)。 //嘗試3。絕望的入侵... // new google.visualization.ColumnChart(getCharts()[0] .getId())。draw(dt,options); // ReferenceError:未定義“ google” //無論如何我都可以訪問它嗎? //$(getCharts()[0].getId()).html("Hacked“)// ReferenceError:未定義“ $”。 //再次... //document.getElementByID(getCharts()[0] .getId())// ReferenceError:未定義“文檔”。 //嘗試5。//sheet.updateChart(Charts.newColumnChart()。build()); //找不到方法updateChart(Chart)。 //嘗試4.文檔中缺少方法? //chart.addDataTable(a); //在對象EmbeddedChartBuilder中找不到函數addDataTable。

    //cchart.addDataTable(a); //在對象EmbeddedColumnChartBuilder中找不到函數addDataTable。

    sheet.updateChart(chart.build()); }

代替使用嵌入式圖表,使用普通的Charts對象並使用.getAs(MimeType.PNG)將圖表作為圖像添加到電子表格中。

編輯:我已經嘗試過此解決方案,並且由於Google的錯誤,當您以PDF格式獲取電子表格時,腳本插入的圖像無法顯示。 Google請解決此問題,自報告以來已經3年了,他們仍在“努力”中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM