使用 Google 脚本删除电子表格中的空白行

2024-01-24

Spreadsheet-1:Spreadsheet-1 中存在的数据,

Name     apple  android   windows    linux
Germany    3      4         6          7
America    4      1         6          2
Sweden     1      6         1          6
Paris      5      0         2          4

Spreadsheet-2:Spreadsheet-2 中存在的数据,

Date   Name    apple  android   windows    linux

我可以使用下面的谷歌脚本将数据从电子表格1复制到电子表格2。

function Daily() {
  var SpreadSheetKeyA = "mykey1";
  var SpreadSheetKeyB = "mykey2";
  var sheet1 = SpreadsheetApp.openById(SpreadSheetKeyA).getSheetByName("Showstopper");
  var sheet2 = SpreadsheetApp.openById(SpreadSheetKeyB).getSheetByName("Daily");
  var data = sheet1.getRange(5,11,40,6).getValues();
  var time = new Date ().toJSON().slice(0,10);;
  for (var r = 0; r < data.length; r++) {
    data[r].unshift(time);
    sheet2.appendRow(data[r]);
    }
}

电子表格 1 中的数据是动态的,即行数可能会变化。现在,每当我再次运行脚本以更新电子表格时,数据都会附加在空白行之后。我想增强上面的脚本,以便它应该避免空白行或仅复制带有数据的行。

谁能帮我解决这个问题吗


如果所有空白都位于源底部并且数据下方没有其他内容,则此操作应该有效。

function triggerOnTime() {
  var SpreadSheetKeyA = "MY key";
  var SpreadSheetKeyB = "MY key";
  var sheet1 = SpreadsheetApp.openById(SpreadSheetKeyA).getSheetByName("Source Name");
  var sheet2 = SpreadsheetApp.openById(SpreadSheetKeyB).getSheetByName("Target Name");
  var startRow = 5;
  var data = sheet1.getRange(startRow,11,sheet1.getLastRow() - startRow + 1,5).getValues();
  var time = new Date ().toJSON().slice(0,10);;
  for (var r = 0; r < data.length; r++) {
    data[r].unshift(time);
    }
  if(data.length > 0 ) {
    sheet2.insertRowsAfter(sheet2.getLastRow(), data.length);
    sheet2.getRange(sheet2.getLastRow()+1, 1, data.length, data[0].length).setValues(data);
    }
}

如果由于某种原因无法满足上述条件并且您需要将行数硬编码为 40,您可以尝试以下操作:

function triggerOnTime() {
      var SpreadSheetKeyA = "MY key";
      var SpreadSheetKeyB = "MY key";
      var sheet1 = SpreadsheetApp.openById(SpreadSheetKeyA).getSheetByName("Source Name");
      var sheet2 = SpreadsheetApp.openById(SpreadSheetKeyB).getSheetByName("Target Name");
      var startRow = 5;
      var data = sheet1.getRange(5,11,40,6).getValues();
      var time = new Date ().toJSON().slice(0,10);;
      for(var i = data.length - 1; i > -1; i--) {
        if(data[i].join("").length == 0) data.splice(i, 1);
      }
      for (var r = 0; r < data.length; r++) {
        data[r].unshift(time);
        }
  if(data.length > 0 ) {
    sheet2.insertRowsAfter(sheet2.getLastRow(), data.length);
    sheet2.getRange(sheet2.getLastRow()+1, 1, data.length, data[0].length).setValues(data);
    }
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Google 脚本删除电子表格中的空白行 的相关文章

随机推荐

  • 出现错误:CS1061

    Refer to 在 ASP net MVC 中良好且完整地实现 RSS 提要 https stackoverflow com questions 369794 good and full implementation of rss fee
  • R SSH 隧道 MySQL

    我正在寻找一种方法 允许我在 R 中使用 SSH 隧道连接到 MySQL 服务器 而不是文件 我假设它需要 RCurl 和 RODBC 的组合 但我似乎无法让它正常工作 我碰到这个帖子 https stackoverflow com que
  • 是否可以使用Javascript更新mySQL数据库中的数据?

    我开始使用 javascript 学习一些 SQL 我想将我的变量 来自 javascript 的 Val Points 放入用户 例如 Robert 的表 Usuarios 中 这是可以通过Javascript实现的还是还有其他方法 va
  • MySQL:#126 - 表的密钥文件不正确

    我从 MySQL 查询中收到以下错误 126 Incorrect key file for table 我什至还没有声明该表的键 但我确实有索引 有谁知道可能是什么问题 根据我的经验 每次发生这种情况时 磁盘都已满 EDIT 还值得注意的是
  • asp.net 中的表单身份验证 Cookie 值漏洞

    在asp net中 我可以像往常一样使用表单身份验证登录 复制我们的身份验证cookie值 注销 使用Chrome的 编辑此Cookie 插件将cookie人工添加到客户端 刷新 匿名 登陆页面嘿 很快我又登录了 这似乎是一个漏洞 有没有办
  • 计算垂直于直线的点

    我有一条由 x1 y1 x2 y2 指定的线 L 并想要计算 该点的坐标为 位于与 L 的一半长度相交的法线上 距 L 一定距离 D 例子 如果直线是 x1 a x2 a 水平 则 计算出的点将为 x2 x1 2 D 如果直线是 a y1
  • Define 是未定义的 Javascript 节点

    我正在尝试使用 Node 运行 Javascript 文件 以将博客更新发布到 Tumblr 到目前为止 在我的 main js 文件中 我有以下内容 Tumblr Information var tumblr require vendor
  • 由于图形 API 不再可用,有什么方法可以通过 API 创建 facebook 事件

    我想使用 API 创建 Facebook 事件 我了解到 Graph API 不再可用于发布事件 我还尝试了 Javascript SDK 和 PHP SDK 但收到相同的错误消息 有没有办法通过 Javascript API 创建 Fac
  • 将嵌套 XML 绑定到 CheckboxList

    我有一个嵌套的xml包含菜单和子菜单的文件 我需要在页面加载时将其绑定到 asp net CheckBox 控件 我正在尝试使用下面的 C 代码进行绑定 C DataSet ds new DataSet try Reading the da
  • 当设备方向改变时,UIWebview 中出现黑条

    我有一个 UIWebView 正在加载到另一个视图上 旋转时 纵向或横向的一切看起来都很好 但是当我处于纵向时 当我从纵向旋转到横向时 我通过捏或双击稍微放大 视图不会完全填充使用 uiwebview 右侧大约有 10 个像素变黑 如该屏幕
  • 使用 JavaScript 通过 websocket 进行视频流传输

    最快的直播方式是什么live使用 JavaScript 制作视频 TCP 上的 WebSockets 是否是足够快的协议来传输 30fps 的视频 TCP 上的 WebSockets 是否是足够快的协议来传输 30fps 的视频 是的 是的
  • TYPO3 扩展生成器多个图像上传不起作用

    我的目标是使用 TYPO3 7 6 2 版本中的扩展生成器创建扩展 我从扩展构建器文档创建了类别产品扩展 除了上传单个图像之外 它工作得很好 但我必须创建将多个图像添加到单个产品并在前端显示图像轮播的功能 但扩展生成器不适用于文件上传 我是
  • 组合连续原子变量的存储/加载

    参考 稍微过时的 paper http www open std org JTC1 SC22 WG21 docs papers 2007 n2338 html作者 Hans Boehm 在 原子操作 下 它提到内存模型 当时提出 不会阻止优
  • 使用 Swift 强制 NSLocalizedString 使用特定语言

    通过 swift 我如何强制我的应用程序从特定的 Localized strings 读取数据 我在实例化 ViewController 之前将其放入 didFinishLaunchingWithOptions 中 但它仍然以英语显示应用程
  • 斯威夫特3;范围“超出范围”

    我刚刚将 Xcode 更新到 8 0 beta 2 和 swift 3 0 从 swift 2 3 更新后 我遇到了很多错误 我有一个字符串扩展 它将 self 字符串中的范围转换为 NSRange extension String fun
  • 为什么我应该用 c++ 而不是 c 设置插件接口

    由于我的previous https stackoverflow com questions 1054697 why isnt my new operator called 问题 https stackoverflow com questi
  • C# 将图像从 PowerPoint 复制到 Word

    我需要一个应用程序将文本和图像从 PowerPoint 复制到 Word 我使用这个库 Microsoft Office Interop PowerPoint 和 Microsoft Office Interop Word 文本很容易传输
  • Android 不同屏幕尺寸的布局

    我正在为 Android 应用程序的布局而苦苦挣扎 我为不同的屏幕尺寸定义了不同的布局 当前的布局目录结构是这样的 layout 布局土地 小布局 布局 xlarge 布局 xlarge 土地 Problem 主要布局目录文件正在显示3 7
  • 联系表格 Laravel 4

    我是 Laravel 4 的菜鸟 联系表单给我带来了一些麻烦 发现了一些东西 全部都使用控制器 但我只需要在路线中使用它 如何创建简单的联系表单 姓名 电子邮件和消息 的路由以将数据发送到管理员电子邮箱 Cheers 这是一种仅使用您的路由
  • 使用 Google 脚本删除电子表格中的空白行

    Spreadsheet 1 Spreadsheet 1 中存在的数据 Name apple android windows linux Germany 3 4 6 7 America 4 1 6 2 Sweden 1 6 1 6 Paris