【问题标题】:Google sheets Script Editor Remove UnNeeded Rows谷歌表格脚本编辑器删除不需要的行
【发布时间】:2021-01-13 17:03:15
【问题描述】:

我正在尝试使用 Google 表格脚本编辑器创建一个脚本来删除除最后 10 行数据之外的所有数据。 Close I come is this code with still, no success.

function deleteUnNeededRows(startFrom)
{
   var sheet = SpreadsheetApp.getActive().getSheetByName('testdoc');
    // get last row index
    var lastRowWithContent = sheet.getLastRow();

    if(lastRowWithContent < startFrom)
    {
        // rows below startFrom are already blank!
        return;
    }
    
    // count total number of rows to be deleted
    // +1 is to include the last row
    var totalRowsToBeDeleted = lastRowWithContent - startFrom + 10;
    
    sheet.deleteRows(startFrom, totalRowsToBeDeleted); 
}

【问题讨论】:

    标签: google-apps-script google-sheets


    【解决方案1】:

    解决方案:

    function deleteUnNeededRows(){  
       var startFrom = 1;
       var keep = 10;
       var sheet = SpreadsheetApp.getActive().getSheetByName('testdoc');
       var nrows = sheet.getLastRow() - startFrom - keep + 1;
       if(nrows>0){
        sheet.deleteRows(startFrom, nrows); 
       }
    }
    

    注意 getLastRow() 返回最后一行的内容。例如,如果您有 10 列,第一个 10 的最后一行内容为 55,但在工作表末尾的列 20 中有一个随机值,假设行 900 然后 900将是您工作表中的最后一行。请注意这一点,否则您将需要其他方法来获取最后一行的内容。

    我删除了你函数的参数。使用它完全没问题,但是你必须通过从其他地方调用它来测试这个函数。为了消除混淆,您可以这样测试它。

    【讨论】:

    • 此脚本执行,但在实际工作表上不执行任何操作...我需要在此处放置工作表 ID 和工作表名称吗?
    • @MattyS 再次检查我的答案。实际上,您如何运行它?我删除了函数的参数,所以你可以直接运行它。如果您需要那里的参数,那么您需要从另一个函数调用该函数。小心点。
    • 是的,var sheet = SpreadsheetApp.getActive().getSheetByName('testdoc');
    • 做到了!感谢您抽出时间马里奥斯。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-26
    • 1970-01-01
    • 2020-11-27
    相关资源
    最近更新 更多