抱歉,标题含糊。我真的是编程新手,我在这里有以下代码:

 function onOpen() {
  var ui = SpreadsheetApp.getUi();
  ui.createMenu('Confirm Order')
      .addItem('Send Email', 'email')
      .addToUi();
}

function email() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();
  var currentRow = sheet.getActiveRange().getRow();
  var product = sheet.getRange(2,5,1,11).getValues(); //header names
  var order1 = sheet.getRange(currentRow, 5, 1,11).getValues();
  var order2 = sheet.getRange(currentRow, 17, 1,11).getValues();
  var order3 = sheet.getRange(currentRow, 29, 1,11).getValues();
  var email = sheet.getRange(currentRow,2).getValues();

  var tab = ""
  var z ="";

  for(var i in product){
    if(product[i]!="") z += "<tr><td style='padding:5px'>" + product[i] + "</td><td style='padding:5px'>" + order1[i] + "</td><td style='padding:5px'>" + order2[i] + "</td><td style='padding:5px'>" + order3[i] + "</td></tr>";
  }

  tab = "<table><tr><th>Product Name</th><th>Order 1</th> <th>Order 2</th> <th>Order 3</th></tr>" + z + "</table>";

//  MailApp.sendEmail(Session.getActiveUser().getEmail(),"Your report", report, {htmlBody: report});
  MailApp.sendEmail(email,"Order Confirmation", tab, {htmlBody: tab});
}


以下代码在电子表格中发送一封包含选定数据的电子邮件,但是电子邮件中的结果并不是一个接一个。例如,我希望它看起来像这样:

Product Name      order 1     order 2     order 3
prod A               2           2           1
prod B               3           1           4
Prod C               12          7           9


但是最终看起来像这样:

Product Name           order 1     order 2     order 3
prod A,prod B,prod C    2,3,12      2,1,7       1,4,9


请告诉我我在做什么错。我真的很想学习。

最佳答案

getValues返回一个二维数组。这就是product[0]显示为“产品A,产品B,产品C”的原因。那就是数组toString在起作用。因此,您需要打印product[0][0]product[0][1]product[0][2]

for(var i in product) {
    for (var j in product[i]) {
        z += "<tr><td style='padding:5px'>" + product[i][j] + "</td><td style='padding:5px'>" + order1[i][j] + "</td><td style='padding:5px'>" + order2[i][j] + "</td><td style='padding:5px'>" + order3[i][j] + "</td></tr>";
    }
}


假定productorder1order2order3都具有相同的大小。

关于javascript - 如何在表格上排列电子邮件的数组值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33794484/

10-13 01:28