Мой скрипт, который содержится в электронной таблице, создает новый документ и вставляет таблицы и параграфы на основе данных таблицы. Я также хотел бы вставить диаграммы (или jpg изображения этих диаграмм) в документ из сценария. Кажется, это возможно, но не работает. Это мой код:Вставка графических изображений из таблицы в документ с использованием GAS
function insertChartImage(){
var charts = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Score Card').getCharts();
var chart = charts[0].getAs('image/png'); // similar result with 'gif'
var doc = DocumentApp.openById(documentId);
doc.getBody().appendImage(chart); // similar result with insertImage()
}
В результате blank container результат (и, конечно, я подписал в) говоря: «Пользователь не авторизованы».
Я искал во всем мире документацию, примеры или учебные пособия, но без везения. Возможно ли это ... похоже, что такое основное требование ... уметь включать диаграммы в документ, но, возможно, это только я?
Я буду очень признателен за любые советы или указания в направлении хорошей документации.
Возможным решением было перестроить диаграмму. Вот пример:
function insertBarChart(body) {
var values = SpreadsheetApp.getActive().getRange("Score!B2:D7").getValues();
var dataTable = Charts.newDataTable()
.addColumn(Charts.ColumnType.STRING, values[0][0])
.addColumn(Charts.ColumnType.NUMBER, values[0][1])
.addColumn(Charts.ColumnType.NUMBER, values[0][2])
.addRow(['Ownership', values[1][1], values[1][2]])
.addRow(['Control', values[2][1], values[2][2]])
.addRow(['Skills', values[3][1], values[3][2]])
.addRow(['Development', values[4][1], values[4][2]])
.addRow(['Social', values[5][1], values[5][2]])
.build();
var chart = Charts.newColumnChart()
.setDataTable(dataTable)
.setColors(["green", "red"])
.setDimensions(600, 400)
.setXAxisTitle("Elements")
.setYAxisTitle("Points")
.setTitle("Profile")
.build();
var scale = 0.5;
var img = body.appendImage(chart.getAs('image/png'));
img.setHeight(img.getHeight()*scale).setWidth(img.getWidth()*scale);
}
Я сделал это с помощью Chart API (https://developers.google.com/apps-script/reference/charts/), но вы будете необходимо перестроить диаграмму. – Rcoster
Спасибо ... Я пробовал это. Восстановление графика, как вы предложили, работает. –