0
google.visualizationを呼び出したり、クライアントサイドなしでHtmlServiceの作業結果を取得することは可能ですか?サーバ側でクライアントサイドライブラリ(google.visualization)を使用することはできますか?
例: chart.getImageURI()(data:image/png; base64)の結果を取得し、この画像を開いたときにスプレッドシートに挿入しますか?
google.visualizationを呼び出したり、クライアントサイドなしでHtmlServiceの作業結果を取得することは可能ですか?サーバ側でクライアントサイドライブラリ(google.visualization)を使用することはできますか?
例: chart.getImageURI()(data:image/png; base64)の結果を取得し、この画像を開いたときにスプレッドシートに挿入しますか?
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);
}
ありがとうございますが、それほど簡単ではありません。 問題は、 - 存在しない "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] + '='; ユーザーがこのスプレッドシートをダウンロードするたびに、この画像をスプレッドシートに挿入します(私は、バブルチャートを生成してその画像を挿入するためのサーバーサイドイベントが必要です)。 –