Google Spreadsheet измените границу и сохраните node js - PullRequest
1 голос
/ 02 апреля 2020
const doc = new GoogleSpreadsheet(sheetId);
await doc.useServiceAccountAuth({
  client_email: configs.creds.client_email,
  private_key: configs.creds.private_key
});
await doc.loadInfo();
const sheet = doc.sheetsByIndex[index];
const rows = await sheet.getRows();
rows[1]["Email Address"] = 'Change Border to Red'
await rows[1].save();

Как я могу изменить границу первой строки? Я использую библиотеку Google-таблицы из npm, есть ли способ?

1 Ответ

1 голос
/ 02 апреля 2020
  • Вы хотите изменить границу ячеек в электронной таблице Google.
  • Вы хотите добиться этого с помощью Google-таблицы с Node.js.

Если мое понимание верно, как насчет этого ответа? Пожалуйста, подумайте об этом как об одном из нескольких возможных ответов.

Поток:

Последовательность действий примера сценария выглядит следующим образом.

  1. Получить ячейки. В этом случае ячейки «A1: C5» на 1-й вкладке извлекаются.
  2. Установите объект границы для каждой ячейки.
  3. Запустите метод batchUpdate Sheets API.

Модифицированный скрипт:

В этом модифицированном скрипте границы ячеек «A1: C5» на 1-й вкладке электронной таблицы изменяются на красный цвет с помощью SOLID_THICK.

* 1029. *
  • В этом примере скрипта я использовал gridRange. Но похоже, что можно также использовать a1Notation.

Примечание:

  • Этот модифицированный скрипт предполагает, что вы уже смогли получить и поместить значения для Google Spreadsheet, используя вашу скрипт. Если ваш сценарий в вашем вопросе не работает, проверьте официальный документ.

Ссылки:

Если я неправильно понял ваш вопрос, и это не то направление, которое вам нужно, я извиняюсь.

Добавлено:

  • Вы хотите изменить границу ячейки.

Я думаю, что вышеописанный скрипт также может быть использован для этой ситуации , Но вы также можете использовать следующий скрипт. В этом случае меняется ячейка ячейки "B2".

Пример сценария:

const doc = new GoogleSpreadsheet(sheetId);
await doc.useServiceAccountAuth({
  client_email: configs.creds.client_email,
  private_key: configs.creds.private_key
});
await doc.loadInfo();

// I added below script.
const sheet = doc.sheetsByIndex[0];  // In this case, 1st tab is used.

// B2
const cell = "B2";
await sheet.loadCells(cell);
const baseStyle = {style: "SOLID_THICK", color: {red: 1}};
sheet.getCellByA1(cell).borders = {top: baseStyle, bottom: baseStyle, left: baseStyle, right: baseStyle};
await sheet.saveUpdatedCells();
...