Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法从一张工作表中获取特定数据并将其添加到另一个电子表格中_Javascript_Google Apps Script - Fatal编程技术网

Javascript 无法从一张工作表中获取特定数据并将其添加到另一个电子表格中

Javascript 无法从一张工作表中获取特定数据并将其添加到另一个电子表格中,javascript,google-apps-script,Javascript,Google Apps Script,@JPV帮助我创建了这个很棒的应用程序脚本,它从电子表格中提取特定数据并通过电子邮件发送给我。我一直在尝试添加功能,它将接收发送电子邮件的数据,并将其添加到特定电子表格的下一行。新电子表格中的列标题与电子邮件中的列标题相同: 评估分数, 学生, 名称 人力资源部, 教师 等级 比赛 G 预计起飞时间, 平均值 我已经搜索/搞乱这几天了,我知道这个论坛上的任何人都很容易做到这一点,而不是像我这样的新手。我知道,在这段代码的消息部分之后,我必须打开目标电子表格,找到最后一行,添加一行,并将已标识的单

@JPV帮助我创建了这个很棒的应用程序脚本,它从电子表格中提取特定数据并通过电子邮件发送给我。我一直在尝试添加功能,它将接收发送电子邮件的数据,并将其添加到特定电子表格的下一行。新电子表格中的列标题与电子邮件中的列标题相同:

评估分数, 学生, 名称 人力资源部, 教师 等级 比赛 G 预计起飞时间, 平均值

我已经搜索/搞乱这几天了,我知道这个论坛上的任何人都很容易做到这一点,而不是像我这样的新手。我知道,在这段代码的消息部分之后,我必须打开目标电子表格,找到最后一行,添加一行,并将已标识的单元格值移到新行,但它永远不会工作:(我会发布我一直在玩的代码,但老实说,这根本不值得。 非常感谢你们的任何帮助或想法。非常感谢,节日快乐! 布兰登

功能评估警报(){
SpreadsheetApp.getActive().getSheets()
.forEach(功能){
var val=s.getDataRange().getValues();
//检查找到的单元格是否正确==>脚本完成后检查日志
var计数=0;
//开始在值之间循环,第一个循环=行,第二个循环=列
对于(变量i=0,ilen=val.length;i8,行>2,值应为数字且<0.6,标题不应具有“已发送”
如果(j>8&&i>2&&isNaN(parseFloat(val[i][j])&&val[i][j]<0.6&&val[0][j]!='Sent'){
计数+=1
//如果所有条件都满足,请发送电子邮件
var消息='评估分数:'+数学四舍五入((val[i][j]*100)*10)/10+'%+
'\nStudentId:'+val[i][0]+
'\n名称:'+val[i][1]+
'\nHR:'+val[i][2]+
'\n教师:'+val[i][3]+
“\n等级:”+val[i][4]+
'\n ACE:'+val[i][5]+
'\nG:'+val[i][6]+
'\nEd:'+val[i][7]+
“\nAVG:”+数学四舍五入((val[i][8]*100)*10)/10+”%;
var emailAddress=email@email.com“;//电子邮件详细信息
风险值主体=“警报-输入的评估分数低于60%”;
MailApp.sendmail(电子邮件地址、主题、消息);
s、 getRange(1,j+1).setValue('Sent').setFontColor('Red');
}
}
}
Logger.log('找到的值数:'+计数);
});

}
在“var消息”之前添加两个新变量

var score = Math.round((val[i][j] * 100) * 10) / 10 + ' %';
var avg = Math.round((val[i][8] * 100) * 10) / 10 + ' %';
然后将var消息的第一行和最后一行更改为:

var message = 'Assessment score: ' + score +
...
'\nAVG: ' + avg;
在s.getRange(1,j+1)…之后,访问第二个电子表格中的第一个工作表,并通过将所有值放入数组(用逗号分隔)在该工作表中追加一行

SpreadsheetApp.openById('id_of_second_spreadsheet).getSheets()[0].appendRow([score, val[i][0], ..., avg])