我正在写我的第一个脚本之一,并试图研究其他类似的问题。
我有两张表:Sheet1:新数据(只有C列感兴趣,其他列中的所有内容都可以忽略)Sheet2:旧数据(但如果尚未存在,则需要使用Sheet1新数据更新)。要添加的数据应该在存量数据之后的C列末尾。
我拥有的代码有以下编译错误。我需要-获取C列Sheet2的最后一行。然后检查列C表1是否存在于列C表2中,如果不存在-从表1复制到表2列C。
更新代码:
function updateSheet() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sourceSheet = "Sheet1";
var destinationSheet = "Sheet2";
var source_sheet = ss.getSheetByName(sourceSheet);
var target_sheet = ss.getSheetByName(destinationSheet);
var last_row = CountColC();
//assumes headers in row 1
var r = target_sheet.getRange(1,2, lastRow - 1);
//Note the use of an array
r.sort([{column: 3, ascending: true}]);
// Process sheet
_updateSpreadsheet(source_sheet, target_sheet);
}
//gets last row in Column C
function CountColC(){
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getDataRange().getValues();
for(var i = data.length-1 ; i >=0 ; i--){
if (data[i][2] != null && data[i][2] != ''){
return i+1 ;
}
}
}
function _updateSpreadsheet(source_sheet, target_sheet) {
var last_row = CountColC();
var source_data = source_sheet.getDataRange().getValues();
var target_data = target_sheet.getDataRange().getValues();
var resultArray = [];
for (var n = 1 ; n < source_data.length ; n++) {
var keep = true;
for(var p = 1 ; p < target_data.length ; p++) {
if (new Date(source_data[n][2]).getTime() == new Date(target_data[p][2]).getTime()) {
keep = false; break;
}
}
Logger.log(keep);
if(keep){ resultArray.push([source_data[n][2]])};
}
last_row++;
Logger.log(resultArray);
target_sheet.getRange(last_row,1,resultArray.length,resultArray[2].length).setValues(resultArray);
// target_data.push(n);
}
感谢提前:)
function updateSheet() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sourceSheet = "Sheet1";
var destinationSheet = "Sheet2";
var source_sheet = ss.getSheetByName(sourceSheet);
var target_sheet = ss.getSheetByName(destinationSheet);
var lastCol = target_sheet.getLastColumn();
var lastRow = target_sheet.lastColumn();
//assumes headers in row 1
var r = target_sheet.getRange(2,1, lastRow - 1, 3);
//Note the use of an array
r.sort([{column: 3, ascending: true}]);
// Process sheet
_updateSpreadsheet(source_sheet, target_sheet);
}
//gets last row in Column C
function CountColC(){
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getDataRange().getValues();
for(var i = data.length-1 ; i >=0 ; i--){
if (data[i][2] != null && data[i][2] != ''){
return i+1 ;
}
}
}
function _updateSpreadsheet(source_sheet, target_sheet) {
var last_row = target_sheet.CountColC();
var source_data = source_sheet.getDataRange().getValues();
var target_data = target_sheet.getDataRange().getValues();
var resultArray = [];
for (var n = 1 ; n < source_data.length ; n++) {
var keep = true;
for(var p = 1 ; p < target_data.length ; p++) {
if (new Date(source_data[n][2]).getTime() == new Date(target_data[p][2]).getTime()) {
keep = false; break;
}
}
Logger.log(keep);
if(keep){ resultArray.push([source_data[n][2]])};
}
last_row++;
Logger.log(resultArray);
target_sheet.getRange(last_row,1,resultArray.length,resultArray[2].length).setValues(resultArray);
// target_data.push(n);
}
而是打电话
var last_row = target_sheet.CountColC();
请使用
var last_row = CountColC();
我想要实现的目标: 当最后一列指示TRUE时,我将向相应的收件人发送一封电子邮件(创建一个按钮并将其分配给脚本) 仅当最后一列指示TRUE时将数据从Sheet1移动/复制到Sheet2 移动到Sheet2的数据将写入新行(追加新行) Sheet1中的数据将被删除,但不会影响Sheet2中的数据。 问题是什么: 数据不会从表1移动到表2 以下是我的代码:
我想用5-10个不同的用户测试我的应用程序,我写了用于登录应用程序的Webdriver脚本,但我不知道如何在Jmeter中使用CSV数据配置来不同的并发用户名。请帮帮我。
在SQL Server中,如何将数据从一个表复制/追加到具有相同架构的另一个表中? 编辑: 假设有一个问题 它使用与表2中相同的模式和数据创建表1。 有没有这样的短查询只将整个数据复制到一个已经存在的表中?
问题内容: 我正在使用Microsoft Sql Server Management Studio。我目前有一个包含数据的现有数据库,我将其称为DatabaseProd。我还有一个第二个数据库,其中包含用于测试的数据,因此数据既不完全正确也不是最新的。我将这个数据库称为DatabaseDev。 但是,DatabaseDev现在包含新添加的表和新添加的列等。 我想将此新模式从DatabaseDev复
我有一个行动项目谷歌表,上面有这些栏: A-ID-A系列#1、2、3等 B-分配-分配操作项的日期 C-product-项目或区域的短文本名称 D-操作项-操作项的文本说明 电子所有者-项目分配给谁,这通常只是一个像Bob L这样的名字,或者有时是多个人Bob/Ted F-到期日 G-状态-挂起、正在处理等 h-上次更新-由onEdit脚本更新 i-上次编辑者-由onEdit脚本更新 j-owne
问题内容: 我必须使用 Query* 将 具有数据 的 表从一个数据库 复制 到另一个数据库 。我知道如何在数据库中复制带有数据的表。但是我不确定如何在两个数据库之间进行复制。 * 我必须复制大量的表,因此我需要使用查询的任何快速方法… 任何人都请帮忙…提前感谢… 问题答案: 您可以使用相同的方法在一个数据库中复制表, 但是可以使用完全限定的表名,如下所示: 这将创建一个新的表在数据库从表whih