#node.js #google-sheets #google-api
#node.js #google-sheets #google-api
Вопрос:
Я создаю функцию, которая удаляет дату из моей таблицы Google без удаления первой строки. Первая строка используется в качестве заголовков заголовка для столбца.
Мои средства просмотра Google Sheet могут фильтровать данные, но я хочу очистить фильтры при обновлении данных.
Для очистки данных я делаю следующее:
const request = {
'spreadsheetId': spreadsheetId,
resource: {
'ranges': selectedRanges,
},
};
sheets.spreadsheets.values.batchClear(request, function (err, response) {
...
}
Очистка данных работает хорошо
Как я могу также очистить фильтры в этом запросе?
Спасибо, Моше С.
Ответ №1:
Чтобы очистить фильтр, вам нужно использовать метод spreadsheets.batchUpdate вместо методов для spreadsheets.values
Более конкретно, вам нужен запрос ClearBasicFilterRequest .
Это будет выглядеть следующим образом:
const request = {
spreadsheetId: spreadsheetId,
resource: {
requests: [{
"clearBasicFilter": {
"sheetId": sheetId
}
}],
},
auth: authClient,
};
sheets.spreadsheets.batchUpdate(request, function (err, response) {
...
}
)
Для получения дополнительной информации о работе с фильтрами смотрите Также здесь .
Комментарии:
1. Спасибо, как только я понял разницу между «spreadsheetId: spreadsheetId» и «sheetId»: sheetId», все начало работать. В моем листе Google много вкладок (вложенных листов) есть ли способ очистить фильтр от всех вкладок?
2. Вы можете реализовать несколько запросов в рамках одного вызова
spreadsheets.batchUpdate
— запрос для каждого листа с соответствующимsheetId
. Чтобы найти все ваши листы (и их идентификаторы), вы можете вызвать spreadsheets.get