2017-11-17 8 views

答えて

1

DataTableとして範囲データを取得し、Charts APIに渡す必要があります。スプレッドシートが常に開いているときにこの関数を呼び出すことはお勧めしません。以下のコードスニペットを参照してください。

function onOpen(){ 
    var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1") 
    var data = ss.getRange(1, 1, ss.getLastRow(),2).getDataTable(); 
    var charts = Charts.newLineChart().setDataTable(data).setTitle('My Graph').setXAxisTitle("Time").setDimensions(1000, 450).build().getAs('image/png'); 
    ss.getRange(2, 4).clearContent(); //In order to delete the old image 
    ss.insertImage(charts, 4, 2); 
} 
+0

ありがとうございますが、それほど簡単ではありません。 問題は、 - 存在しない "newBubbleChart()"関数が必要です。私はクライアント側でかなりバブルチャートを生成します: var chart = new google.visualization.BubbleChart(document.getElementById( 'chart')); chart.draw(dataTable、options); window._chart = chart; var pngBlob = chart.getImageURI()。split( 'data:image/png; base64、')[1] + '='; ユーザーがこのスプレッドシートをダウンロードするたびに、この画像をスプレッドシートに挿入します(私は、バブルチャートを生成してその画像を挿入するためのサーバーサイドイベントが必要です)。 –

関連する問題