Удаление пустых строк в таблице

Я новичок в написании скриптов Google Apps Script и пытаюсь научиться самостоятельно, начиная с создания общей таблицы. Пока у меня есть:

  • сделал шапку;
  • поменял фон;
  • поменял шрифт;
  • добавлена ​​проверка данных;
  • добавлены толстые внешние границы, а также другие границы
  • и одновременное сохранение не более пяти строк и столбцов

изображение таблицы с применением того, что указано выше

У меня вопрос:

Как удалить пустые строки в диапазоне данных? До сих пор я пробовал несколько методов, но мне нравится иметь верхнюю строку в качестве границы, поэтому не хочу ее удалять. Это сценарий, который я написал до сих пор

function formatScriptLearning1() {
    var ScriptLearning = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Script learning 1");
    var Header = ScriptLearning.getRange("B2").getDataRegion(SpreadsheetApp.Dimension.COLUMNS);
    var LastRow = ScriptLearning.getLastRow();
    var MaxRows = ScriptLearning.getMaxRows();
    var LastColumn = ScriptLearning.getLastColumn();
    var MaxColumns = ScriptLearning.getMaxColumns();
    var Range = ScriptLearning.getRange(2, 2, LastRow - 1, LastColumn - 1);
    var Outside = Range
    var DataVal = ScriptLearning.getRange(3, 7, LastRow - 1, 1);
    var validation = SpreadsheetApp.newDataValidation().requireValueInList(['Yes', 'No'], true).build();
    var RemainingRows = ScriptLearning.getRange(LastRow + 1, 7, MaxRows);
    var RemainingColumns = ScriptLearning.getRange(2, LastColumn + 1, 1, 5);

    Range.setBorder(true, true, true, true, true, true, null, SpreadsheetApp.BorderStyle.SOLID);
    Outside.setBorder(true, true, true, true, true, null, null, SpreadsheetApp.BorderStyle.SOLID_MEDIUM);
    Header.setBorder(true, true, true, true, true, true, true, SpreadsheetApp.BorderStyle.SOLID_MEDIUM);
    Header.setFontSize(11).setBackground("#ea9999").setFontWeight("Bold").setFontLine("Underline").setFontFamily("Georgia");

    if (MaxRows - LastRow != 0) {
        ScriptLearning.deleteRows(LastRow + 1, MaxRows - LastRow);
    }
    if (MaxColumns - LastColumn != 0) {
        ScriptLearning.deleteColumns(LastColumn + 1, MaxColumns - LastColumn);
    }

    DataVal.setDataValidation(validation);

    ScriptLearning.insertRowsAfter(LastRow, 5);
    ScriptLearning.insertColumnsAfter(LastColumn, 5);
    RemainingRows.clearDataValidations().clearFormat();
    RemainingColumns.clear();

Любая помощь будет принята с благодарностью!


person Shea Murphy    schedule 22.04.2020    source источник


Ответы (1)


person    schedule
comment
Спасибо! Отлично работает, только что добавлено; ss.insertRowBefore (1) .getRange (1: 1) .clearFormat (); Ниже этого и сохраняется граница и прочее - очень ценю @Cooper - person Shea Murphy; 23.04.2020