javascript - 来自 Gsheet 的 html 文件中的 Google Apps 脚本动态项目符号列表
问题描述
我想在一个带有变量的谷歌应用脚本的 html 文件中创建一个动态项目符号列表。为此,我想得到一些帮助,因为我对此很陌生。此时将电子邮件作为固定的 op[x] 变量发送,因此如果它们为空,我将有空的项目符号列表。
我有一个调用函数luli
我在数组调用操作中有变量,期望成为项目符号列表实际上我还创建了它们总和的可数变量
luligs
function luli() {
var emailTemp = HtmlService.createTemplateFromFile('INTERVENTION-EMAIL');
var ws = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Template Creation');
// for bulleted list
var operation = ws.getRange('B27:B32').getValues();
var i = ws.getRange('$B$33').getValue();
// used at the moment
var op1 = wsSettings.getRange('$B$27').getValue();
var op2 = wsSettings.getRange('$B$28').getValue();
var op3 = wsSettings.getRange('$B$29').getValue();
var op4 = wsSettings.getRange('$B$30').getValue();
//email variables used at the moment
emailTemp.op1 = op1;
emailTemp.op2 = op2;
emailTemp.op3 = op3;
emailTemp.op4 = op4;
var htmlMessage = emailTemp.evaluate().getContent();
GmailApp.createDraft(
mail,
sujet,
//send message generated htmlbody & htmlmessage built.
{ name: nom, htmlBody: htmlMessage, cc: cc, from: from },
);
}
我有一个名为intervention-email的电子邮件模板
干预-email.html
<p dir="ltr">
<span style="font-family: Roboto, RobotoDraft, Helvetica, Arial, sans-serif"
><?= corps1 ?></span
>
</p>
<ul style="list-style-type: square">
<li dir="ltr">
<span
style="
font-family: Roboto, RobotoDraft, Helvetica, Arial, sans-serif;
font-size: 10pt;
"
><?= op1 ?></span
>
</li>
<li dir="ltr">
<span
style="
font-family: Roboto, RobotoDraft, Helvetica, Arial, sans-serif;
font-size: 10pt;
"
><?= op2 ?></span
>
</li>
<li dir="ltr">
<span
style="
font-family: Roboto, RobotoDraft, Helvetica, Arial, sans-serif;
font-size: 10pt;
"
><?= op3 ?></span
>
</li>
<li dir="ltr">
<span
style="
font-family: Roboto, RobotoDraft, Helvetica, Arial, sans-serif;
font-size: 10pt;
"
><?= op4 ?></span
>
</li>
</ul>
<p> </p>
最好有一个代码根据操作变量中包含的信息生成 li 项目符号列表,然后填充电子邮件列表。谢谢您的帮助。
解决方案
您可以将变量推送到数组中(或直接将它们作为数组检索),然后将数组传递给模板
样本
代码.gs
...
var values = wsSettings.getRange('B27:B30').getValues().flat();
emailTemp.options = values;
var htmlMessage = emailTemp.evaluate().getContent();
...
干预-email.html
...
<ul style="list-style-type: square">
<? for (var i = 0; i < options.length; i++) { ?>
<li dir="ltr">
<span style="font-family: Roboto, RobotoDraft, Helvetica, Arial, sans-serif; font-size: 10pt;">
<?= options[i] ?>
</span>
</li>
<? } ?>
</ul>
...
请参阅文档。
推荐阅读
- java - 将定制的 ObjectWriter 与 Jersey 一起使用
- javascript - 如何在 IIFE(立即可调用函数表达式)函数中导入 javascript 模块?
- node.js - 使用 socket.io 动态连接到 NodeJS 服务器
- c# - 带有 MVVMCross 6.2+ 的选项卡
- c - Firebase 服务器通信
- php - 用于 WordPress 网站的网络服务器上的自定义 php 文件的文件夹
- c++ - 错误假设从 gcc 上的重载函数强制转换为类型 xxx
- python - 烧瓶。函数名是否需要匹配 app.route 路径?
- c# - 将数据从 Web 应用程序发送到 Windows 应用程序
- android - Google Play 警告:APK 将在更少类型的设备上产生