Электронная таблица Google не начинается вверху, когда ответы очищены
-
21-12-2019 - |
Вопрос
У меня есть форма, которая вводит данные формы в электронную таблицу Google.Эти данные перечислены в порядке представления.
Когда я очищаю содержимое электронной таблицы, следующие данные вводятся, как если бы другие данные существовали, x номер или строки вниз.
- Данные
- Данные
- (пусто)
- (пусто)
- Данные
Clear
Вот сценарий, который я использую для очистки содержимого
function clear() {
var sheet = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/1IEcXuEtkwVmnOEeQE71YQcZTrSkFa1OjlP8JpXGonHk/edit#gid=2015797647').getSheetByName('Form Responses 1');
var lastRow = sheet.getLastRow();
var lastCol = sheet.getLastColumn();
var range = sheet.getRange(2,2,lastRow,lastCol);
range.clearContent();
.
Есть ли другой способ, которым я должен очистить или выбрать данные для очистки?
или есть ли способ удалить строки, которые сохраняют форматирование электронной таблицы?
Решение
Вы должны просто удалить строки вместо того, чтобы очистить их контент:
function clear() {
// var sheet = SpreadsheetApp.getActive().getSheetByName('Form Responses 1');
var sheet = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/1IEcXuEtkwVmnOEeQE71YQcZTrSkFa1OjlP8JpXGonHk/edit#gid=2015797647').getSheetByName('Form Responses 1');
var lastRow = sheet.getLastRow();
sheet.deleteRows(2,lastRow-1);
}
.
Если вы хотите сохранить общее количество доступных строк на вашем листе (что на самом деле не нужно, поскольку ответы автоматически вставляют новые строки, но кто знает ...) Добавить эту строку в конце кода
sheet.insertRows(2,lastRow-1);
.