Google apps script 谷歌脚本:让变量以正确的格式出现在自动电子邮件中的问题
我已经设置了来自谷歌表单的自动电子邮件,但是它引用的数字和日期没有像表单中显示的那样正确格式化。请有人帮我修改一下,使百分比不是正常数字,精确到小数点后第二位。以及使用mm/dd/yyyy格式的日期 var EMAIL_DRAFTED=电子邮件起草; 功能周报{ var ss=SpreadsheetApp.getActiveSpreadsheet;//替换为源ID var sheet=ss.getSheetByName'Individual Report Emails';//替换为源工作表选项卡名称 var startRow=2;//要处理的第一行数据 var numRows=sheet.getLastRow-1;//要处理的行数 var lastColumn=sheet.getLastColumn;//最后一列 var dataRange=sheet.getRangestartRow,1,numRows,lastColumn//获取活动工作表的数据范围 var data=dataRange.getValues;//获取范围中每一行的值 //完成电子表格中的每一行 对于变量i=0;iGoogle apps script 谷歌脚本:让变量以正确的格式出现在自动电子邮件中的问题,google-apps-script,Google Apps Script,我已经设置了来自谷歌表单的自动电子邮件,但是它引用的数字和日期没有像表单中显示的那样正确格式化。请有人帮我修改一下,使百分比不是正常数字,精确到小数点后第二位。以及使用mm/dd/yyyy格式的日期 var EMAIL_DRAFTED=电子邮件起草; 功能周报{ var ss=SpreadsheetApp.getActiveSpreadsheet;//替换为源ID var sheet=ss.getSheetByName'Individual Report Emails';//替换为源工作表选项
} 如果要获取显示值,可以使用。您需要将带有数据变量的行更改为
var data = dataRange.getDisplayValues();// Fetch values for each row in the range
要将小数位数限制为2,可以使用:
var numberToSend=numberFromSheet.toFixed2;
如果要显示百分比,可以改为:
var numberToSend=numberFromSheet*100.toFixed2+%;
为了根据您的偏好设置日期格式,您可以使用:
var dateToSend=Utilities.formatDateFromSheet,您的时区,MM/dd/yyyy;
参考:
我希望这能有所帮助。您能分享一份您正在制作的电子表格吗?没有敏感信息。这里有一个链接到一个示例工作表,其中有一些数据,比如它从制表符的格式中提取的制表符。这个相同的工作表将从相同的工作表中驱动每周、周一等,一旦我完善了这个工作表,只需交换哪些变量和一些措辞。我所有的工作都是正确的,除了将表格的格式输入到电子邮件中。谢谢!如果我想引用条件格式,当某个值低于80%时,数字在工作表中变为红色,有没有办法模仿它呢?getBackground会让你得到背景色,不管它是如何设置的,然后你可以使用它们来设置背景色,如果我理解正确的话。如果回答了你的问题,你是否介意也批准这个回答?老实说,不确定我们是否在谈论同一件事。基本上在工作表中,如果数字小于80%,字体将变为红色。我希望它在电子邮件中反映出这一点。您的初始解决方案正是我所需要的,并且在日期和百分比中获得了正确的格式,现在正在寻求将其提高一个档次,使数字红色字体(如果低于80%)与google工作表中的一样。如果您通过条件设置字体颜色,getForegroundColor应返回可在HTML电子邮件中使用的十六进制代码。我不确定是否有更简单的方法。