Как скачать диаграммы в PNG с листа Google - PullRequest
1 голос
/ 29 апреля 2020

Я пытаюсь создать собственное меню в Google Sheet, чтобы позволить мне загружать все диаграммы из всех листов в текущем файле Google Sheet в изображения PNG, используя заголовок диаграммы в качестве имени изображения, сохраняя в каталоге загрузки по умолчанию моего Windows P C.

Я собирался сделать это в Python с использованием Google Sheet API и нашел этот вопрос , ответ в основном сказал, что я смогу сделать это с Google Apps Script.

Я нашел Пример сценариев Google Apps , объясняющий, как экспортировать диаграмму в слайд, но не могу понять, как загрузить диаграмму в виде файла PNG.

Это вообще возможно?

Если да, может кто-нибудь указать мне правильное направление? Спасибо!

1 Ответ

1 голос
/ 29 апреля 2020

Подход:

Вы можете получить диаграммы из вашего документа с помощью функции getCharts(), преобразовать их в изображение с помощью функции getAs(), а затем получить ссылку из Google Drive.

Фрагмент

function myFunction() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var chart = sheet.getCharts()[0];

  // create a proxy slide
  var proxySlide = SlidesApp.create("proxySlide");
  var proxySaveSlide = proxySlide.getSlides()[0];
  var chartImage = proxySaveSlide.insertSheetsChartAsImage(chart);

  // Get image from slides
  var myimage = chartImage.getAs('image/png');
  var url = DriveApp.createFile(myimage).getUrl();

  // delete the proxy slide
  DriveApp.getFileById(proxySlide.getId()).setTrashed(true);

  return url;
}

Ссылка

Класс BLOB

...