Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何向数据中添加HTML表并保留Google表单格式_Javascript_Google Apps Script - Fatal编程技术网

Javascript 如何向数据中添加HTML表并保留Google表单格式

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

我的电子邮件脚本可以工作并发送谷歌工作表范围。问题是列的宽度根据单元格中的数据而变化。因此,我需要代码将数据格式化为表,并保留电话号码的格式

我不知道怎么修理

函数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(发送至“这是您当前的公交车花名册”,正文); }
电子邮件正文数据列的宽度必须固定,以便它们都从上到下排列。

您可以通过向
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()