Enable data filters on a range with Google Apps Script

后端 未结 3 414
闹比i
闹比i 2020-12-17 01:35

Is there a way to enable data filters by script in a Google Sheet for a certain range? Currently this can be doen manually, but I do not want to select a range, then click \

3条回答
  •  悲&欢浪女
    2020-12-17 02:21

    Now you can apply filters using google sheets advanced service. First you need to turn on the Google Sheets API. For that follow the steps as mentioned in the below link:

    https://developers.google.com/sheets/api/quickstart/apps-script

    After that you can use the following function to apply filters.

    function applyFilter() {
      var ss = SpreadsheetApp.getActiveSpreadsheet();
      var ssId = ss.getId();
      var dataSheet = ss.getActiveSheet();
      var lastRow = dataSheet.getLastRow();
      var lastColumn = dataSheet.getLastColumn();
      var sheetId = dataSheet.getSheetId();
    
      var filterSettings = {
        "range": {
          "sheetId": sheetId,
          "startRowIndex": 0,
          "endRowIndex": lastRow,
          "startColumnIndex": 0,
          "endColumnIndex": lastColumn
        }
      };
      var requests = [{
        "setBasicFilter": {
          "filter": filterSettings
        }
      }];
      Sheets.Spreadsheets.batchUpdate({'requests': requests}, ssId);
    }
    

提交回复
热议问题