0
我有一個帶有數據表的googledocs電子表格。表格填寫完畢後,我的腳本將獲取數據並通過電子郵件發送。我擁有的代碼將從數據範圍中獲取我想要的每個值,並將其放入一個表中,但這一切都是通過識別超過一百個變量來完成的。Google腳本:使用電子表格數據在電子郵件中填充html表格
有沒有辦法使用某種數組,以便使用數據範圍中的每行數據填充html表?
我自由地承認是一個編程新手,這可能是一些最糟糕的意大利麪代碼。任何幫助非常感謝(即使它是JavaScript的入門)。
function Gradereport() {
//這個腳本電子郵件的形式,內容到某一接受
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Report");
var recloc = sheet.getRange("D2"); //cell location of student email
var recipient = recloc.getValue(); //student's email address
var lastloc = sheet.getRange("B2");
var last = lastloc.getValue();
var firstloc = sheet.getRange("A2");
var first = firstloc.getValue();
var courseloc = sheet.getRange("E2");
var course = courseloc.getValue();
var dateloc = sheet.getRange("C2");
var date = dateloc.getValue();
var gradeloc = sheet.getRange("D5");
var grade = gradeloc.getValue();
var totloc = sheet.getRange("D4");
var total = totloc.getValue();
var perloc = sheet.getRange("D6");
var percent = perloc.getValue();
var dataRange = sheet.getRange("A4:B9");
var data = dataRange.getValues();
// assignment cell locations
var assignloc1 = sheet.getRange("A5");
var assignloc2 = sheet.getRange("A6");
var assignloc3 = sheet.getRange("A7");
var assignloc4 = sheet.getRange("A8");
var assignloc5 = sheet.getRange("A9");
// assignment values
var assign1 = assignloc1.getValue();
var assign2 = assignloc2.getValue();
var assign3 = assignloc3.getValue();
var assign4 = assignloc4.getValue();
var assign5 = assignloc5.getValue();
// assignment score locations
var scoreloc1 = sheet.getRange("B5");
var scoreloc2 = sheet.getRange("B6");
var scoreloc3 = sheet.getRange("B7");
var scoreloc4 = sheet.getRange("B8");
var scoreloc5 = sheet.getRange("B9");
// assignment score values
var score1 = scoreloc1.getValue();
var score2 = scoreloc2.getValue();
var score3 = scoreloc3.getValue();
var score4 = scoreloc4.getValue();
var score5 = scoreloc5.getValue();
// error message
var errmess = first+' '+last+', your Pin code did not match. Please double check your entry and re-submit. Contact your professor if you get this message again.';
var subject = course+' Grade Report';
var body = first+' '+last+', here is your grade report, requested on '+date+'. Grade '+grade+'/'+total+', '+percent+'%. Score breakdown: '+data;
var bodyHTML1 = '<p>'+first+' '+last+', here is your grade report.<br> Grade '+grade+'/'+total+', '+percent+'%.</p>';
// var bodyHTML2 = '<p>'+data+'</p>';
var bodyHTML2 = '<table> <tr> <td> '+assign1+' </td> <td> '+score1+' </td> </tr> <tr> <td> '+assign2+' </td> <td> '+score2+' </td> </tr> <tr> <td> '+assign3+' </td> <td> '+score3+' </td> </tr> <tr> <td> '+assign4+' </td> <td> '+score4+' </td> </tr> <tr> <td> '+assign5+' </td> <td> '+score5+' </td> </tr> </table>';
var bodyHTML3 = '<p>Sent by the <a href="http://www.steegle.com/">Steegle.com</a> Contact Us Form Google Apps Script</p>';
var advancedArgs = {htmlBody:bodyHTML1+bodyHTML2 ,};
var pinloc = sheet.getRange("G2");
var pin = pinloc.getValue();
if(pin == 1){
MailApp.sendEmail(recipient, subject, body, advancedArgs);
}else{
MailApp.sendEmail(recipient, subject, errmess);
}
}