首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将'undefined‘或'zero’值转换为字符串?

如何将'undefined‘或'zero’值转换为字符串?
EN

Stack Overflow用户
提问于 2019-07-29 14:41:29
回答 2查看 81关注 0票数 0

当我使用google app脚本从google工作表中检索单元格值时,当该单元格中的值为‘零’时,它会返回'undefined‘。当我将值发送到电子邮件时,我需要它保持为零。Image Result of the cell value where value is zero in google sheet

代码语言:javascript
复制
function sendEmails() {

  var app = SpreadsheetApp;
  var targetSheet = app.getActiveSpreadsheet().getSheetByName("Template");

  var i,j; var k=4;
     for(i=2; i<=2; i++){ 
       var infoData = [];
       for(j=2; j<=5; j++){

         var cellValues = targetSheet.getRange(i, j).getValue();
         infoData.push(cellValues);
       }

       var emailSheet = app.getActiveSpreadsheet().getSheetByName("Emails");
       var currentEmail = app.getActiveSheet().activate().getRange(i, 1).getValue(); 
       var subject = app.getActiveSheet().activate().getRange(i, 2).getValue();
       var block = app.getActiveSheet().activate().getRange(i, 3).getValue();

       //var emailQuotaRemaining = MailApp.getRemainingDailyQuota();
       //Logger.log("Remaining email quota: " + emailQuotaRemaining);

       var body = "<h3>Dear Sir/Ma'am,</h3>" + 
          "<h3>Daily MGNREGA progress Report on different parameters.</h3>" +

          "<table border = '1'>" +
            "<tr><td>BLOCK: </td><td>" + block + "</td><tr>" + 
          "</table>" +

          "<table border = '1'>" +

            "<tr font-style = 'bold'><td>#S.NO</td> <td align = 'center'> PARAMETERS </td><td align = 'center'> VALUES </td></tr>" +
            "<tr><td align = 'center'>1.</td> <td align = 'left'> Percentage of NRM Expenditure for the financial year 2019-20 (So far) </td><td align = 'right'>" + infoData[0] + "</td></tr>" +
            "<tr><td align = 'center'>2.</td> <td align = 'left'> Percentage of Timely MGNREGA wage payment (T+8 days) FY 2019-20 </td><td align = 'right'>" + infoData[1] + "</td></tr>" +
            "<tr><td align = 'center'>3.</td> <td align = 'left'> Work completion rate FY 2017-18 and Earlier in percentage</td><td align = 'right'>" + infoData[2] + "</td></tr>" +
            "<tr><td align = 'center'>4.</td> <td align = 'left'> No. of Rejected transactions pending Reconcilation of FY 2018-19 </td><td align = 'right'>" + infoData[3] + "</td></tr>" +
            "<tr><td align = 'center'>5.</td> <td align = 'left'> Pending Geotagging Stage- 3 of Phase-II (Completed Works) </td><td align = 'right'>" + infoData[4] + "</td></tr>" +
            "<tr><td align = 'center'>6.</td> <td align = 'left'> FTOs Pending for First signatory FY 2019-20 </td><td align = 'right'>" + infoData[5] + "</td></tr>" +
            "<tr><td align = 'center'>7.</td> <td align = 'left'> FTOs Pending for Second signatory FY 2019-20 </td><td align = 'right'>" + infoData[6] + "</td></tr>" +
            "<tr><td align = 'center'>8.</td> <td align = 'left'> No. of Rejected transactions pending Reconcilation FY 2019-20 </td><td align = 'right'>" + infoData[7] + "</td></tr>" +

            "</td></tr>" +

          "</table>" + 
          "<h4>NOTE: This Alert message is valid for Today only. Thanks</h4>" +
          "<h3>Regards,</h3>" +
          "<h3>DRDA Barpeta</h3>";

       var options = {
         htmlBody : body
       }

       MailApp.sendEmail(currentEmail, subject, "", options);
     }
}
EN

回答 2

Stack Overflow用户

发布于 2019-07-29 14:51:13

可以通过添加|| 0将缺省值设置为cellValue,以便在targetSheet.getRange(i, j).getValue()返回undefined时将cellValue设置为0

尝尝这个

代码语言:javascript
复制
var cellValues = targetSheet.getRange(i, j).getValue() || 0;
票数 0
EN

Stack Overflow用户

发布于 2019-07-29 14:55:06

如果我们能知道infoData的原始数据会很有帮助(我对Google App Script不是很熟悉),但我会尽我最大的努力。现在,这不是代码高尔夫,但是我们可以用0检测并替换所有的undefined值,用一个for循环。

代码语言:javascript
复制
var i;
for (i = 0; i < infoData.length; i++) {
    if (infoData[i] == undefined) {
        infoData[i] = 0;
    }
}

希望这能有所帮助!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57248385

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档