С помощью GAS, как сохранить ширину столбцов при копировании и прохождении TAB с листа на документ? - PullRequest
2 голосов
/ 22 октября 2019

Мой код ниже импортирует в Gdocument таблицу (строки и столбцы), выбранную в Gsheet, но моя проблема заключается в том, что ширина столбцов не сохраняется при копировании вкладки в Gdocument, поэтому я трачу часы, чтобы заново установить ширину столбцов вthe Gdocument.

У вас есть предложение помочь моей вкладке сохранить ширину столбцов? Заранее благодарю за помощь, если можете.

Вот мой код:

function readFromSpreadsheetAndWriteOnDoc() 
{
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sourcesheet = ss.getSheetByName('Feuille 1');
var selection = ss.getActiveRange().getA1Notation();
var srcData = sourcesheet.getRange(selection).getValues();

var doc = DocumentApp.openById('1a2X5oZhW2aY-p15vMvvPt9wvhm1UVHJU5_3ZJ3-OCBo'
var body = doc.getBody();

body.insertParagraph(3, 'My Title').setHeading(DocumentApp.ParagraphHeading.HEADING1).
setAlignment(DocumentApp.HorizontalAlignment.CENTER);
table = body.appendTable(srcData);

table.getRow(0).editAsText().setBold(true);
}

Ответы [ 2 ]

0 голосов
/ 22 октября 2019

Спасибо AMolina, это работает .. трудно получить информацию об определенном классе услуг и т. Д. Теперь у меня есть таблица в Gdocs с нужным размером колонн, но вкладка отправлена ​​слева от страницы,Как я могу получить всю таблицу в середине страницы? Какой код мне следует использовать и где я должен его написать? Заранее благодарю за помощь.

Вот конец моего нового кода:

table = body.appendTable(srcData).setColumnWidth(0, 200).
setColumnWidth(1, 20).setColumnWidth(2, 20).setColumnWidth(3, 20).
setColumnWidth(4, 20).setColumnWidth(5, 20).setColumnWidth(6, 20).
setColumnWidth(7, 20).setColumnWidth(8, 20).setColumnWidth(9, 20).
setColumnWidth(10, 20).setColumnWidth(11, 20).setColumnWidth(12, 20);
table.getRow(0).editAsText().setBold(true);
0 голосов
/ 22 октября 2019

Существует способ получить ширину определенных ячеек, используя метод Sheet API get ( Документация здесь ). Но вам нужно сделать это для отдельных ячеек в каждом столбце (например, для верхней ячейки в каждом столбце). Затем вы можете использовать метод setColumnWidth() ( Документация здесь ), чтобы воссоздать правильные размеры в таблице w.

Этот процесс будет довольно запутанным, я бы предложил просто использовать setColumnWidth()метод, когда вы строите таблицу (например, table.setColumnWidth()), чтобы сделать это вручную. Это позволит вам лучше контролировать определенные ячейки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...