javascript - 如何在最后一行之后动态粘贴值 [Google 脚本]
问题描述
我正在构建一个脚本来复制另一个电子表格中的一行。这个想法是有一个表格,其中包含将存储在第二个电子表格中的输入。但是,我在构建动态粘贴范围方面面临着一些真正的困难。这是我能够以我目前的知识达到的点:
function Export() {
var ss = SpreadsheetApp.getActiveSpreadsheet()
var database = SpreadsheetApp.openById("xxx");
var source = ss.getSheetByName('yyy');
var dataToCopy = source.getRange('bb').getValues();
var copyToSheet = database.getSheetByName("zzz");
var copyData = copyToSheet.getRange('bb').setValues(dataToCopy)
var Clean = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('yyy').getRange('bb');
Clean.clear({contentsOnly:true});
}
此脚本将范围复制到第二个电子表格中的固定范围中,并清除源中存在的值。我的问题是:如何创建一个范围,使脚本将数据粘贴到第二个电子表格的第一个空白行中?
我尝试了 appendRow、getLastRow、insertRowAfter 的一些组合,但我无法完成。
感谢您的时间!
解决方案
这是我在朋友的帮助下能够实现的:
function Export2() {
var ss = SpreadsheetApp.getActiveSpreadsheet()
var database = SpreadsheetApp.openById("1UfKqXCMNIbjh3ge7s26SNkXyGez-bY3fvl6_3-RQKos");
var source = ss.getSheetByName('Sheet26');
var dataToCopy = source.getRange('A1:E1');
var copyToSheet = database.getSheetByName("TOT");
var lastRow = copyToSheet.getLastRow();
for (var i = 1; i<6 ;i++){
var Paste = copyToSheet.getRange(lastRow + 1,i).setValue(dataToCopy.getCell(1, i).getValue());
}
var Clean = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet26').getRange('A1:E1');
Clean.clear({contentsOnly:true});
}
推荐阅读
- apache-spark - 使用 Nifi 从多个来源读取,在 Kafka 中分组主题并使用 Spark 订阅
- arrays - 在 Google Apps 脚本中处理使用 UrlFetchApp 检索到的二进制数据
- tableau-api - 连接两种不同类型的表时 Tableau 中的自定义聚合
- node.js - 猫鼬更新数组或添加到数组
- azure - Azure API 管理代理支持的出站 TLS 密码
- mongodb - 如何在mongodb中存储多维数组
- database - 零星 ORA-12599: TNS:cryptographic checksum mismatch 的原因是什么?
- html - 带有固定标题和 2 个侧边栏的引导程序
- python - 在python中将曲线校正为数据点的最佳方法是什么?
- realm - 在尝试中崩溃!领域.write