Javascript 如何向数据中添加HTML表并保留Google表单格式
我的电子邮件脚本可以工作并发送谷歌工作表范围。问题是列的宽度根据单元格中的数据而变化。因此,我需要代码将数据格式化为表,并保留电话号码的格式 我不知道怎么修理 函数sendmail(){ var s=SpreadsheetApp.getActive().getSheetByName('LOOKUP'); var to=s.getRange('G4').getValue(); var data=s.getRange('A36:E91').getValues(); 变量体=“”; for(数据中的var行){ for(数据[行]中的var列){ body+=数据[行][col]+'\t'; } 正文+='\n'; } MailApp.sendmail(发送至“这是您当前的公交车花名册”,正文); }Javascript 如何向数据中添加HTML表并保留Google表单格式,javascript,google-apps-script,Javascript,Google Apps Script,我的电子邮件脚本可以工作并发送谷歌工作表范围。问题是列的宽度根据单元格中的数据而变化。因此,我需要代码将数据格式化为表,并保留电话号码的格式 我不知道怎么修理 函数sendmail(){ var s=SpreadsheetApp.getActive().getSheetByName('LOOKUP'); var to=s.getRange('G4').getValue(); var data=s.getRange('A36:E91').getValues(); 变量体=“”; for(数据中的v
电子邮件正文数据列的宽度必须固定,以便它们都从上到下排列。您可以通过向
MailApp.sendMail添加第四个参数来发送带有HTML正文的电子邮件。添加
和
标记可以设置表格格式。()
函数sendmail(){
var s=SpreadsheetApp.getActive().getSheetByName('LOOKUP');
var to=s.getRange('G4').getValue();
var data=s.getRange('A36:E91').getValues();
var body=''/*+此处的css*/+'';
for(数据中的var行){
身体+='';
for(数据[行]中的var列){
正文+=''+数据[行][列]+'';
}
身体+='';
}
身体+='';
发送电子邮件(发送至,'这是您当前的公交车花名册','',{htmlBody:body});
}
然而,我建议更进一步,利用和一个模板。在模板中,您可以添加
和
标记,这样您就可以准确地设置表格的格式
函数sendmail(){
var s=SpreadsheetApp.getActive().getSheetByName('LOOKUP');
var to=s.getRange('G4').getValue();
var data=s.getRange('A36:E91').getValues();
var body=HtmlService.createTemplateFromFile('email');
body.data=数据;
body=body.evaluate().getContent();
发送电子邮件(发送至,'这是您当前的公交车花名册','',{htmlBody:body});
}
文件“email.html”:()
/*在这里摆设你的桌子*/
顶部的htmlBody脚本和HtmlService脚本生成相同的电子邮件。因此我需要添加模板来设置列宽。我知道怎么做。脚本中的和代码在哪里?(完整脚本)您还可以提供问号的一些信息吗?@bciepiela10gmailcom
标记在我放在该部分上方的链接中解释:。我建议您直接在模板中编写CSS,而不是将其放入JavaScript中,除非您有很好的理由这样做。@bciepiela10gmailcom我添加了一个可以在纯JavaScript版本中添加和标记的地方,如果您是这样要求的话。如果我误解了你的评论,我深表歉意,请尝试再次澄清。谢谢,效果很好!我要问一个新问题还是你能告诉我?我想得到两个电子邮件地址,一个是G4,另一个是G23。我该如何纠正这一点,var to=s.getRange('G4').getValue();除了下面的答案,请使用getDisplayValues()
而不是getValues()