如何将输入格式与Google Email Script统一?

时间:2017-09-06 13:40:35

标签: google-apps-script google-sheets number-formatting

我正在使用下面的谷歌电子邮件脚本通过邮件从谷歌表发送一些数据。

https://developers.google.com/apps-script/articles/sending_emails

我的问题 有不同的人将信息放在表格中。根据数据输入到工作表的方式,它会更改字段的格式。例如,百分比数据已更改为十进制格式[6.98% -> 0.0698]。其他人已经以十进制格式提供数据而没有%符号。

有没有办法统一输入数据的两种方式?

我的剧本

function sendEmails() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var startRow = 2;  // First row of data to process
  var numRows = 300;   // Number of rows to process

  var dataRange = sheet.getRange(startRow, 1, numRows, 5) 
// Fetch values for each row in the Range.
  var data = dataRange.getValues();
  for (var i = 0; i < data.length; ++i) {
    var row = data[i];
    var emailAddress = row[0];  // First column
    var message = 'Hi ' + row[2] + '\n'
   + 'text before data,' + row[3] + 'text after data.'
   + '\n\n'
   +'more text data'

1 个答案:

答案 0 :(得分:2)

getValue()

  

返回范围中左上角单元格的值。该值可以是 Number ,Boolean,Date或String类型,具体取决于单元格的值。

因此脚本的getValue()将始终将百分比值读作十进制数[使用getDisplayValue()来获取工作表中显示的内容]

如果您只需要将值显示为电子邮件中的百分比,请将getValue() | data[i][3]号码更改为* 100的百分比。

var message = 'Hi ' + row[2] + '\n'
+ 'text before data,' + (row[3] * 100) + '%' + ' text after data.'
+ '\n\n'
+'more text data'