aif88
@aif88

Я использую Node js. Как я могу изменить цвет заливки ячейки или цвет ячейки в google spreadsheets?

sheets.spreadsheets.values.append({
auth: auth,
spreadsheetId: sId,
range: 'list1!R'+realy+'C'+cCount,
valueInputOption: "RAW",
resource:{values:[["myValue"]]} // - Запись данных в ячейку
},
(err, response) => {if (err) return console.log(err)}
);
Возможно ли вместе с данными передать цвет фона ячейки через spreadsheets.values.append?

Также известно, что получить цвет фона можно так:

function data(auth) {
const sheets = google.sheets({version: 'v4', auth});
const params = {
spreadsheetId:'MySpreadSheetID',
fields:"sheets"
};

sheets.spreadsheets.get(params,
(err, {data}) => {
if (err) return console.log('The API returned an error: ' + err);
console.log("Значение в ячейке: ",data.sheets[0].data[0].rowData[0].values[2].formattedValue);
console.log("Цвет фона: ",data.sheets[0].data[0].rowData[0].values[2].effectiveFormat.backgroundColor);
//rowData[х] - Строка на листе
//values[х] - Столбец
// Значение в ячейке не должно быть пустым.
})
}
  • Вопрос задан
  • 281 просмотр
Решения вопроса 1
aif88
@aif88 Автор вопроса
Реализовал через условное форматирование, может кому-то поможет:

function data(auth) {
const sheets = google.sheets({version: 'v4', auth});

var myRange = {
sheetId: 0,
startRowIndex: 1,
endRowIndex: 2,
startColumnIndex: 1,
endColumnIndex: 2
};

var requests = [{
addConditionalFormatRule: {
rule: {
ranges: [ myRange ],
booleanRule: {
condition: {
type: 'NOT_BLANK'
},
format: {
backgroundColor: { red: 1, green: 0.1, blue: 0.1 }
}
}
},
index: 0
}
}];

var body = {
requests
};
var sId='mySpreadsheetID';

sheets.spreadsheets.batchUpdate(
{
spreadsheetId: sId,
resource: body
}, function(err, response) {
if(err) {
// Handle error.
console.log(err);
}
});
}

Если кто-то знает как сделать проще на node - пожалуйста - дайте знать.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы