Есть ли способ создать .jpg изображение диаграммы листов Google с помощью сценариев? - PullRequest
1 голос
/ 04 ноября 2019

В листах Google у меня есть вкладка с кнопкой, которая вызывает скрипт, который делает что-то и генерирует диаграмму. Я хотел бы добавить в конец скрипта код, который генерирует и загружает изображение сгенерированного графика.

В правом верхнем углу графика есть опция, которая делает это, поэтому я записал макрос, который это делал, но ничего не было сгенерировано.

Не могу найти способ сделать это. Любая подсказка?

Спасибо

Ответы [ 2 ]

0 голосов
/ 05 ноября 2019

Этот код получит изображение, сохраненное на вашем диске, и поместит URL-адрес в одну из ваших ячеек в вашей электронной таблице:

function downloadChart() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var range = sheet.getRange("Range where the chart is located");
 // Get chart and save it into your Drive
  var chart = sheet.getCharts()[0];
  var file = DriveApp.createFile(chart.getBlob());
  // Set url in one cell and resize the column 
  sheet.getRange(23, 1).setValue(file.getUrl())
  sheet.autoResizeColumn(1);
}

В качестве обходного пути для прямой загрузки при нажатии кнопки, я рекомендуюпроверить этот пост.

Документы

0 голосов
/ 05 ноября 2019

Это поместит изображение png в Google Doc:

function chartImage() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet()
  var chart = sheet.newChart()
  .setChartType(Charts.ChartType.BAR)
  .addRange(sheet.getDataRange())
  .setPosition(5, 5, 0, 0)
  .setOption("title", "Dynamic Chart")
  .build();
  sheet.insertChart(chart);
  var img=sheet.getCharts()[0].getBlob().getAs('image/png');
  var doc=DocumentApp.openById('Doc Id');
  doc.getBody().appendImage(img);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...