如何删除谷歌表格中带有标题的空列?

2024-03-10

我有下面的代码可以帮助我删除右端的所有空列。但我在工作表之间也有空列,并且所有这些空列都带有标题。

我想删除带标题的空列,有人可以帮助我吗?

function removeEmptyColumns() {
   var ss = SpreadsheetApp.getActive();
   var allsheets = ss.getSheets();
   for (var s in allsheets){
      var sheet=allsheets[s]
      var maxColumns = sheet.getMaxColumns(); 
      var lastColumn = sheet.getLastColumn();
      if (maxColumns-lastColumn != 1){
         sheet.deleteColumns(lastColumn+2, maxColumns-lastColumn);
      }
   }
}

这是您要求的样品

function UntitledMacro() {
  var spreadsheet = SpreadsheetApp.getActive();
  Logger.log("1");
   var allsheets = spreadsheet.getSheets();
   //In this sample I just to check 1 sheet only
   //so temporarily the for loop is commented, and column header is in row 1
   //and will delete all header without data and all column without header
   for (var sht in allsheets){
      var sheet=spreadsheet.getSheetByName(allsheets[shtNo].getSheetName());
      Logger.log("2");
      var maxColumns = sheet.getMaxColumns(); 
      var lastColumn = sheet.getLastColumn();
      var lastrow = sheet.getLastRow();
      if (maxColumns-lastColumn != 0){
         if (maxColumns>lastColumn)
         {
           Logger.log("3");
           sheet.deleteColumns(lastColumn+1, maxColumns-lastColumn);
         }
         for (a=0; a<lastColumn; a++)
         {
           var lstRange1 = sheet.getRange(1,lastColumn - a );
           if (lstRange1.getValue()=='') 
           {
             sheet.deleteColumns(lastColumn - a +1);
           }
           else
           {
             var lstRange2= sheet.getRange(lastrow, lastColumn - a );
             if (lstRange2.getValue()=='')
             {
               var rsltRange=lstRange2.getNextDataCell(SpreadsheetApp.Direction.UP);
               if (rsltRange.getRow()==1) sheet.deleteColumns(lastColumn - a +1,1);
             }
           }
         } 

      }

   }
};

Update:

function UntitledMacro3() {
   var spreadsheet = SpreadsheetApp.getActive();
   var allsheets = spreadsheet.getSheets();

   for (var shtNo in allsheets){
      var sheet=spreadsheet.getSheetByName(allsheets[shtNo].getSheetName());
      var maxColumns = sheet.getMaxColumns(); 
      var lastColumn = sheet.getLastColumn();
      var lastrow = sheet.getLastRow();
      if (maxColumns-lastColumn != 0){
         if (maxColumns>lastColumn)
         {
           sheet.deleteColumns(lastColumn+1, maxColumns-lastColumn);
         }
      }
      if (lastColumn>0)
      {
         for (a=0; a<lastColumn; a++)
         {
          var lstRange1 = sheet.getRange(1,lastColumn - a );
           if (lstRange1.getValue()=='') 
           {
             sheet.deleteColumns(lastColumn - a );
           }
           else
           {
             var lstRange2= sheet.getRange(lastrow, lastColumn - a );
             if (lstRange2.getValue()=='')
             {
               var rsltRange=lstRange2.getNextDataCell(SpreadsheetApp.Direction.UP);
               if (rsltRange.getRow()==1 && (lastColumn - a )<=maxColumns) sheet.deleteColumns(lastColumn - a ,1);
             }
           }
         } 

      }

   }
};

现在对于所有表。运行脚本,完成后请按Ctrl+Enter,显示日志,请告知日志内容

之前的图:

之后的图片:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何删除谷歌表格中带有标题的空列? 的相关文章

随机推荐

  • 为什么 ASP.NET MVC 控制器类需要公开?

    当我更改控制器类的访问修饰符时 会导致错误 如果我将操作方法 的可访问性设置为非公开 那么它也会导致错误 特别是找不到网页错误 为什么会这样呢 默认情况下 如果您没有为类指定任何访问修饰符 那么它将默认为internal在 C 中 只有同一
  • ( ... ) 和 { ... } 如何与 bash 中的管道创建子 shell 交互?

    我试图了解使用圆括号和大括号的 shell 子进程调用之间的区别 我认为大括号不会启动子进程 但它们似乎确实启动了子进程 bin sh a 1 b 1 a 2 a 3 b 2 b 3 echo a a echo b b 该脚本打印 a 1
  • 在任意时区之间转换

    我正在尝试找到一种简单而强大的方法来在任意时区之间转换时间 This http www cpearson com excel TimeZoneAndDaylightTime aspx http www cpearson com excel
  • 有没有一种方法可以在没有用户的情况下访问 LinkedIn API

    我正在构建一个使用 REST API 从 LinkedIn 获取数据的应用程序 当我的用户拥有 LinkedIn 帐户时 我使用 OAuth 代表用户进行身份验证和访问数据 我的问题是当用户没有 LinkedIn 帐户时 在这种情况下 我想
  • C# 和 Word - 用格式替换

    我试图做的最简单的形式是在预先存在的 Word 文档上填写一些信息 我的代码做得很好 它没有做的是按照需要修复格式 替换的文本需要设为黑色并加粗 表格上的总计字段需要右对齐 如果有人能指出我如何在我的代码中做到这一点 我将不胜感激 这是我当
  • UIScrollView 可滚动内容大小不明确

    各位开发者 我在 Interface Builder Xcode 5 iOS 7 中使用 AutoLayout 时遇到问题 这是非常基本和重要的 所以我认为每个人都应该知道它是如何正常工作的 如果这是 Xcode 中的一个错误 那么它是一个
  • TitleView 未覆盖整个工具栏

    我正在开发通知计数Toolbar using TitleView 里面TitleView我用过RelativeLayout这是从顶部裁剪未显示完整计数圆Label 这是我的代码
  • Playstore 展示 Beta 标签床边制作应用

    前几天 我推广了我的测试版 open beta test 应用于生产 一切顺利 我可以在 Playstore 中搜索我的应用程序 但有一个问题 playstore没有删除 beta 我的应用程序名称旁边的标签 我想删除那个标签 我该怎么做或
  • ASP.NET MVC 单点登录和角色

    我使用类似于以下方法的内容跨 2 个 MVC 站点 称为 SiteA 和 SiteB 进行基本的单点登录 http forums asp net p 1023838 2614630 aspx http forums asp net p 10
  • Firefox 单选按钮怪异

    我有一个包含很多无线电组的表格 每个无线电都有一个唯一的 ID 并且与其组中的其他无线电具有相同的名称 该页面验证为 XHTML 过渡页面 在 IE6 和 7 Opera Safari 和 Chrome 中进行了测试 它的工作方式与您想象的
  • 领域驱动设计模式 - 从领域访问存储库

    我一直致力于将领域驱动设计模式应用到我们的 Web 应用程序中 我们遇到的问题之一是避免使用实体内的存储库 例如 我们有一些实体 其方法将触发电子邮件 因此 我们必须有权访问电子邮件模板 存储在数据库中 并在数据库队列表中创建新的电子邮件记
  • 顺序或并行启动存储过程

    我们有一个每晚运行的存储过程 进而启动许多其他过程 其中一些程序在逻辑上可以与其他一些程序并行运行 我如何向 SQL Server 指示一个过程应该并行运行还是串行运行 即 异步启动还是阻塞运行 并行运行它们会产生什么影响 请记住 我已经确
  • java 类在同一个包中找不到其他类

    我正在ubuntu中实现一个java程序 没有将货币转换为欧元的IDE 我有2个类ConvertiEuro和Valuta都在名为finanza的同一目录 包 中 当我尝试编译Valuta时 类ConvertiEuro使用类Valuta ja
  • SQL 差异的原因

    尽管存在 SQL 的 ANSI 标准 但为什么 SQL 发行版如此不标准 SQL 数据库的工作方式真的有那么多有意义的差异吗 还是只是我一直使用的两个数据库 MS SQL 和 PostgreSQL 为什么会出现这些差异 ANSI 标准仅指定
  • 如何检查VC++生成的二进制exe的运行时库类型

    用于对现有构建 二进制文件集 exe dll lib 进行故障排除 有没有办法使用 SDK 或其他实用程序中的命令行工具来快速检查目标文件编译时所针对的运行时库类型 例如 给定的 dll 显然是针对动态运行时编译的 但如果它是调试或发布版本
  • AngularJS $resource 使用方法时调用错误的 API URL:POST

    这不是最容易放入标题的问题 无论如何 我的应用程序是建立在nodejs expressjs并为 url 设置了 API 编辑 我当前使用的代码是 scope updateProduct resource api updateProduct
  • 如何禁用 ReactJs 的 laravel 路由

    我在 Laravel 上的应用程序中遇到了路由问题 因为我在 laravel 资源目录中使用 ReactJs 路由 使用 laravel 5 3 和最新的 React Js 资源 资产 js src Route js const route
  • 如何使用 libjpeg-turbo 编译 OpenCV?

    我在我的一个 C 项目中在 OS X Lion 上使用 OpenCV 2 3 1 虽然我的项目按原样运行得很好 但它很大程度上依赖于 JPEG 解码和编码 我想通过使用 libjpeg turbo 来获得加速 但我找不到与 libjpeg
  • C# 控制台应用程序中 public static void Main() 和 private static void Main() 有什么区别?

    有什么区别 public static void Main and private static void Main 在 C 控制台应用程序中 具体来说 因为它涉及Main 方法 我理解之间的区别public and private 要作为
  • 如何删除谷歌表格中带有标题的空列?

    我有下面的代码可以帮助我删除右端的所有空列 但我在工作表之间也有空列 并且所有这些空列都带有标题 我想删除带标题的空列 有人可以帮助我吗 function removeEmptyColumns var ss SpreadsheetApp g