Диаграмма экспорта сценария Google лист в виде векторного изображения (SVG / EPS)

Мне нужно сделать много диаграмм с Google листом и скачать их, чтобы сделать публикацию.

Поскольку мне нужно много, мне понадобится слишком много времени, чтобы использовать щелчок правой кнопкой мыши -> экспорт в качестве решения для изображения.

Я нашел способ экспортировать изображения в формате jpg с таким кодом:

  function Export() {
  var Spreadsheet = SpreadsheetApp.getActive();     
  var sheet = Spreadsheet.getActiveSheet();
  var spreadsheetId =  SpreadsheetApp.getActiveSpreadsheet().getId();
  var spreadsheetFile =  DriveApp.getFileById(spreadsheetId);
  var folderID = spreadsheetFile.getParents().next().getId();
  var folder = DriveApp.getFolderById(folderID); 

  // take the first chart of the sheet
  var chart = sheet.getCharts()[0];
  var Nom = sheet.getRange('A2').getValue();

  //save to image
  var theBlob = chart.getBlob().getAs("image/jpeg").setName(NomFerme); //save the image into a blob
  var newFile = folder.createFile(theBlob); //save the image into the spreadsheet folder
  return true;
 }

Но для моего проекта мне нужно экспортировать векторные изображения, такие как .svg или .eps.

Я уверен, что есть способ сделать это, потому что это работает с щелчком правой кнопкой мыши -> экспорт как решение для изображения.

Но как это сделать в скрипте Google?

Всего 2 ответа


Я проверил эту пользовательскую функцию:

function exportToSvg() {
  var ss = SpreadsheetApp.getActiveSheet().getCharts()[0];
  DriveApp.createFile(ss.getBlob().getAs('image/jpeg'));
};

Он загружает ваш первый график в формате JPEG в корневую папку диска


но как насчет этих типов MIME:

  • image / svg + xml возвращает ошибку

Преобразование из image/png в image/svg+xml не поддерживается. (строка 3, файл "макросы")

  • application / pdf также возвращает ошибку

Преобразование из image/png в application/pdf не поддерживается. (строка 3, файл "макросы")


Затем я проверил официальную документацию для метода getAs (contentType) :

Для большинства BLOB-объектов «application / pdf» является единственным допустимым вариантом. Для изображений в формате BMP, GIF, JPEG или PNG также допустимы любые изображения: «image / bmp», «image / gif», «image / jpeg» или «image / png».


К сожалению, это плохие новости, и невозможно сделать то, что вы пытаетесь сделать с помощью Apps Script


Я думаю, что это более странно, чем мы можем экспортировать в SVG, потому что я могу сделать это с помощью мыши, щелкнув по меню диаграммы (3 точки по вертикали), а затем загрузить как SVG ...

Я попытался записать сценарий, но этот король действий не зарегистрирован в сценарии, только действия, которые влияют на ячейки.

У вас есть идея узнать, что делает Google, когда я использую эту функцию?


Есть идеи?

10000