Предполагая, что введенные вами данные - это строка, определенная как "A, B, C, D, F, A, B".
Если вы хотите отобразить ваши {данные} в виде списка в htmlbody, способ сделать это состоял бы в том, чтобы назначить «данные» массиву, при этом каждая разделенная запятыми запись данных будет назначена элементу массива.Затем вы должны пройти через массив и заключить каждый из элементов в теги <li> </li>
и добавить все вложенные элементы в строку, которая заменит ваш заполнитель {data}.Вот как может выглядеть код:
function myFunction() {
var bodyTemplateExam1LangExam1=SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange('A1').getValue();
var Name="testname";
var data="A,B,C,D,F,A,B";
var For="homework";
var Exam1="Math 2";
var LangExam1="Spanish";
var NumExam2=2;
var Email="testmail@test.com";
var subjectLine="exam results";
var dataArray=data.split(",");
var list="";
dataArray.forEach(function(element)
list=list+"<li>"+element+"</li>";
})
var messageBody1 = bodyTemplateExam1LangExam1.replace(/{Name}/g,Name).replace(/{data}/g,list).replace("{For}",For).replace(/{Exam 1}/g,Exam1).replace(/{Lang Exam 1}/g,LangExam1).replace(/{Num Exam 1}/g,NumExam2);
if (Exam1 == "Math 2" && LangExam1 == "Spanish")
Logger.log(messageBody1)
MailApp.sendEmail
({
to: Email,
subject: subjectLine,
htmlBody: messageBody1
})
}
}
Со следующим содержимым, содержащимся в ячейке A1:
<p>
Hello {Name},
Your requested grades for the {For} for the language {Lang Exam 1}, and exam {Exam1} are below.
Exam name: {Exam 1}, # of grades: {Num Exam 1}
Your grades are
<ul>
{data}
</ul>
</p>
(Вам не нужна полная запись и вы можете оставить большую частьтеги, которые вы не используете).