更新时间:2023-01-09 12:28:19
您在for循环中犯了一个小错误。
你的代码做一些小的修改:
$ p $ lt; code> function email(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var bulk = ss.getSheetByName(Bulk);
var lastrow = bulk.getLastRow();
var data1 = bulk.getRange(1,2,lastrow).getValues(); //水果列
var data2 = bulk.getRange(1,3,lastrow).getValues(); // color column
var report =
var fruitTable =;
for(var i in data1){
if(data1 [i]!=)fruitTable + =< tr>< td style ='padding:5px'> + data1 [i] +< / td>< td style ='padding:5px'> + data2 [i] +< / td>< / tr>;
}
report =< table>< tr>< th>第一数据< th>第二数据< / th>< / tr> + fruitTable +< / table>;
MailApp.sendEmail(Session.getActiveUser()。getEmail(),
Your report,report,{htmlBody:report});
}
我希望这会回应您的需求。
哈罗德
The following code sends out an email for data in columns 2 and 3, however the results in email are not one below another.
Code.gs
function email() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var bulk = ss.getSheetByName("Bulk");
var lastrow = bulk.getLastRow();
var data1 = bulk.getRange(1, 2, lastrow).getValues();
var data2 = bulk.getRange(1, 3, lastrow).getValues();
var onedata="", twodata="";
for (var i =1; i < data1.length; i++) {
if (onedata.length) {
onedata += ", ";
}
onedata += data1[i]
}
for (var i =1; i < data2.length; i++) {
if (twodata.length) {
twodata += ", ";
}
twodata += data2[i]
}
var report = ""
report += "<tr><td style='padding:5px'>" + onedata + "</td><td style='padding:5px'>" + twodata + "</td></tr>";
report ="<table><tr><th'>First data</th><th>Second data</th></tr>" + report + "</table>";
MailApp.sendEmail(Session.getActiveUser().getEmail(),
"Your report", report, {htmlBody: report});
}
Results received in email
First data Second data
Apple, Orange, Grapes, Red, Orange, Green, Yellow,
Banana, Chickoo Grey
Result expected
First data Second data
Apple Red
Orange Orange
Grapes Green
Banana Yellow
Chickoo Grey
you made a little mistake with the for loop.
here your code with some little modifications:
function email() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var bulk = ss.getSheetByName("Bulk");
var lastrow = bulk.getLastRow();
var data1 = bulk.getRange(1, 2, lastrow).getValues(); // fruit column
var data2 = bulk.getRange(1, 3, lastrow).getValues(); // color column
var report = ""
var fruitTable ="";
for(var i in data1){
if(data1[i]!="") fruitTable += "<tr><td style='padding:5px'>" + data1[i] + "</td><td style='padding:5px'>" + data2[i] + "</td></tr>";
}
report ="<table><tr><th>First data</th><th>Second data</th></tr>" + fruitTable + "</table>";
MailApp.sendEmail(Session.getActiveUser().getEmail(),
"Your report", report, {htmlBody: report});
}
I hope this will respond to your needs.
Harold