我的床單上有這張桌子

我有下面的代碼在陣列中捕獲此資訊
var values = ws.getRange('$A$24:$B$30').getValues();
//remove empty arrays
var filtered_values = values .filter(function(r){
return r.join("").length>0;
});
var arr_obj = [];
//Create an Array of Object and populate using filtered_values
filtered_values.forEach(val => {
var obj = {
"date" : val[0],
"quantite" : val[1],
}
arr_obj.push(obj)
})
Logger.log(arr_obj);
// Logger.log(values);
預格式化 html 電子郵件的代碼
//variable pour les quantites
emailTemp.content = arr_obj;
Logger.log(emailTemp.arr_obj);
//variable pour la boucle des lignes
var i = ws.getRange("$B$31").getValue();
//Logger.log(i);
生成電子郵件草稿的代碼
//evaluation du template d'email en creant un html output avec son texte
var htmlMessage = emailTemp.evaluate().getContent();
// Logger.log(from);
// Logger.log(cc);
// Logger.log(qui);
// Logger.log(sujet);
// Logger.log(nom);
// une fois fait l'envoyé (en draft)
// avec comme valeur (recipient,subject, body)
GmailApp.createDraft(
mail,
sujet,
"Votre messagerie ne support pas HTML",
//envoyé le message créé htmlbody est le htmlmessage créé.
{name: nom, htmlBody: htmlMessage,cc: cc, from: from});
然后是html中的電子郵件表
<table style="border-collapse: collapse; width: 100%; height: 60px;" border="1">
<thead>
<tr style="height: 22px;">
<td style="width: 29.2011%; background-color: #c2e0f4; height: 22px; border-color: #000000; border-style: solid;"><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;">Date</span></td>
<td style="width: 26.3085%; background-color: #c2e0f4; height: 22px; border-color: #000000; border-style: solid;"><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;">Quantité</span></td>
</tr>
</thead>
<tbody>
<?var ctr = 1
content.forEach(function (arrayItem) { ?>
<tr style="height: 19px;">
<td style="width: 29.2011%; height: 19px; border-color: #000000; border-style: solid;"><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><div class="date"> <?= arrayItem.date ?></div></span></td>
<td style="width: 26.3085%; height: 19px; border-color: #000000; border-style: solid;"><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><?= arrayItem.quantite ?></span></td>
</tr>
</tbody>
<? ctr ?>
<? }); ?>
</table>
我想要的是另一個類似的陣列,但值來自單元格 $A34:$B40

此外,當我生成草稿時,我的日期包括時間:2022 年 5 月 17 日星期二 00:00:00 GMT 0200(中歐夏令時間)
是否可以使用圖片 17/05/2022 中的日期格式?
謝謝
uj5u.com熱心網友回復:
創建第二個陣列 - 使用第二個名稱
所以,雖然代碼arr_obj是:
var values = ws.getRange('$A$24:$B$30').getValues();
//remove empty arrays
var filtered_values = values .filter(function(r){
return r.join("").length>0;
});
var arr_obj = [];
//Create an Array of Object and populate using filtered_values
filtered_values.forEach(val => {
var obj = {
"date" : val[0],
"quantite" : val[1],
}
arr_obj.push(obj)
})
Logger.log(arr_obj);
// Logger.log(values);
只需在此代碼中添加以下塊arr_obj2:
values = ws.getRange('$A34:$B40').getValues();
//remove empty arrays
filtered_values = values .filter(function(r){
return r.join("").length>0;
});
var arr_obj2 = [];
//Create an Array of Object and populate using filtered_values
filtered_values.forEach(val => {
var obj = {
"date" : val[0],
"quantite" : val[1],
}
arr_obj2.push(obj)
})
Logger.log(arr_obj2);
// Logger.log(values);
- 請注意,附加代碼塊將覆寫變數
values,并且filtered_values- 這不是問題,因為一旦您構建arr_obj. 但是,您也可以創建新變數values2和filtered_values2.
- 在下一步中,除了現有陣列之外,將新陣列添加到您的電子郵件模板中。
為此,改變
emailTemp.content = arr_obj;
至
emailTemp.content = arr_obj;
emailTemp.content2 = arr_obj2;
- 最后一步是在您的 html 中創建一個附加表并使用新變數填充它
content2:
<table style="border-collapse: collapse; width: 100%; height: 60px;" border="1">
<thead>
<tr style="height: 22px;">
<td style="width: 29.2011%; background-color: #c2e0f4; height: 22px; border-color: #000000; border-style: solid;"><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;">Date</span></td>
<td style="width: 26.3085%; background-color: #c2e0f4; height: 22px; border-color: #000000; border-style: solid;"><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;">Quantité</span></td>
</tr>
</thead>
<tbody>
<?var ctr = 1
content.forEach(function (arrayItem) { ?>
<tr style="height: 19px;">
<td style="width: 29.2011%; height: 19px; border-color: #000000; border-style: solid;"><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><div class="date"> <?= arrayItem.date ?></div></span></td>
<td style="width: 26.3085%; height: 19px; border-color: #000000; border-style: solid;"><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><?= arrayItem.quantite ?></span></td>
</tr>
</tbody>
<? ctr ?>
<? }); ?>
</table>
<table style="border-collapse: collapse; width: 100%; height: 60px;" border="1">
<thead>
<tr style="height: 22px;">
<td style="width: 29.2011%; background-color: #c2e0f4; height: 22px; border-color: #000000; border-style: solid;"><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;">Date</span></td>
<td style="width: 26.3085%; background-color: #c2e0f4; height: 22px; border-color: #000000; border-style: solid;"><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;">Quantité</span></td>
</tr>
</thead>
<tbody>
<?var ctr = 1
content2.forEach(function (arrayItem) { ?>
<tr style="height: 19px;">
<td style="width: 29.2011%; height: 19px; border-color: #000000; border-style: solid;"><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><div class="date"> <?= arrayItem.date ?></div></span></td>
<td style="width: 26.3085%; height: 19px; border-color: #000000; border-style: solid;"><span style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"><?= arrayItem.quantite ?></span></td>
</tr>
</tbody>
<? ctr ?>
<? }); ?>
</table>
關于日期格式的問題:
- 換個試試
var values = ws.getRange('$A$24:$B$30').getValues();
通過
var values = ws.getRange('$A$24:$B$30').getDisplayValues();
將解決問題。
背景:
如果您的日期作為日期物件存盤在電子表格中,腳本將自動將這些值處理為默認日期格式
Tue May 17 2022 00:00:00 GMT 0200 (Central European Summer Time)。如果改為使用getDisplayValues(),這會將值作為字串檢索(在您的情況下更可取),因此不會轉換日期格式。
或者,如果您想使用日期物件 / getValues90,您可以使用方法Utilities.formatDate(date, timeZone, format)來修改顯示的日期格式。
為此,改變
"date" : val[0]
至
"date" : Utilities.formatDate(val[0], "GMT","dd/MM/yyyy")
(請修改GMT為您想要的時區。)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/493927.html
