Java Google Sheet API.Добавить данные к конкретным листам - PullRequest
0 голосов
/ 13 июня 2018

Я хочу добавить данные на 3 разных листа (используя Java и Google Sheet API).

Например, «Я люблю черепах» к первому листу, для которого sheetId равен 1, «123» ко второму листу, для которого sheetId равен 2, и любой диапазон для второго листа, для которого sheetId равен 3. Как добавитьданные?И что более важно, как получить sheetId из листов и установить активный лист?Или любой другой способ сделать это.Есть предложения или примеры?

Спасибо.

1 Ответ

0 голосов
/ 13 июня 2018

Вы можете обратиться с помощью этой ссылки о том, как добавить данные к определенным листам.

Если вы просто хотите написать на листе, следуйте BasicНаписание Sheets guide .Вы можете написать на листе методом PUT:

PUT https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId/values/Sheet1!A1:D5?valueInputOption=USER_ENTERED

и указать имя листа и диапазон ячеек в виде:

{
  "range": "Sheet1!A1:D5",
  "majorDimension": "ROWS",
  "values": [
    ["Item", "Cost", "Stocked", "Ship Date"],
    ["Wheel", "$20.50", "4", "3/1/2016"],
    ["Door", "$15", "2", "3/15/2016"],
    ["Engine", "$100", "1", "30/20/2016"],
    ["Totals", "=SUM(B2:B4)", "=SUM(C2:C4)", "=MAX(D2:D4)"]
  ],
}

Что касается вашего вопроса spreadsheets.values.appendЯ уверен, что вы уже прочитали, что документы должны были сказать:

Добавляет значения в электронную таблицу.Диапазон ввода используется для поиска существующих данных и поиска «таблицы» в этом диапазоне.Значения будут добавлены в следующую строку таблицы, начиная с первого столбца таблицы.

Это только для добавления в последнюю строку таблицы.

Также с этой страницы :

Попробуйте приведенный ниже скрипт и посмотрите, подходит ли он вам:

 var ss = SpreadsheetApp.getActiveSpreadsheet();
 var sheet = ss.getSheets()[0];

 // This represents ALL the data
 var range = sheet.getDataRange();
 var values = range.getValues();

 // This logs the spreadsheet in CSV format with a trailing comma
 for (var i = 0; i < values.length; i++) {
   var row = "";
   for (var j = 0; j < values[i].length; j++) {
     if (values[i][j]) {  
       row = row + values[i][j];
     }  
     row = row + ",";    
   }    
   Logger.log(row);    
 }

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

Надеюсь, это поможет!

...