Используйте API Google Sheets, который позволяет указать основное измерение ответа.Для этого сначала необходимо включить API и расширенный сервис
Для наиболее эффективного получения значений используйте конечные точки spreadsheets.values
, либо get
или batchGet
в зависимости от ситуации.Вы можете предоставить необязательные аргументы обоим вызовам, один из которых управляет ориентацией ответа:
const wb = SpreadsheetApp.getActive();
const valService = Sheets.Spreadsheets.Values;
const asColumn2D = { majorDimension: SpreadsheetApp.Dimension.COLUMNS };
const asRow2D = { majorDimension: SpreadsheetApp.Dimension.ROWS }; // this is the default
var sheet = wb.getSheetByName("some name");
var rgPrefix = "'" + sheet.getName() + "'!";
// spreadsheetId, range string, {optional arguments}
var single = valService.get(wb.getId(), rgPrefix + "A1:C30");
var singleAsCols = valService.get(wb.getId(), rgPrefix + "A1:C30", asColumn2D);
// spreadsheetId, {other arguments}
var batchAsCols = valService.batchGet(wb.getId(), {
ranges: [
rgPrefix + "A1:C30",
rgPrefix + "J8",
...
],
majorDimension: SpreadsheetApp.Dimension.COLUMNS
});
console.log({rowResp: single, colResp: singleAsCols, batchResponse: batchAsCols});
Ответом будет либо ValueRange
(с использованием get
) или объект, заключающий в себе несколько ValueRange
с (при использовании batchGet
).Вы можете получить доступ к данным (если они были) в свойстве ValueRange
values
.Обратите внимание, что конечные пробелы опущены.
Дополнительную информацию можно найти в документации Sheets API и других соответствующих вопросах переполнения стека, таких как этот .