>source

시트에서와 동일한 형식의 테이블로 범위를 이메일로 보내려고하는데, 테이블을 보내는 곳에서 가져 왔지만 "없음"이라는 단어로 공백이 표시되고 형식이 추가되지 않습니다.

나는 이것에 대한 올바른 해결책을 찾고 있었고 잘 작동했지만 표에 대한 올바른 서식이없는 몇 가지 답변이 있습니다.

내 코드 아래 :

function sendMail(){
var shh = SpreadsheetApp.getActiveSpreadsheet();
var sh = shh.getSheetByName('Email');
 var data = sh.getRange("A1:J34").getValues();
  //var htmltable =[];
var TABLEFORMAT = 'cellspacing="2" cellpadding="2" dir="ltr" border="1" style="width:100%;table-layout:fixed;font-size:10pt;font-family:arial,sans,sans-serif;border-collapse:collapse;border:1px solid #ccc;font-weight:normal;color:black;background-color:white;text-align:center;text-decoration:none;font-style:normal;'
var htmltable = '<table ' + TABLEFORMAT +' ">';
for (row = 0; row<data.length; row++){
htmltable += '<tr>';
for (col = 0 ;col<data[row].length; col++){
  if (data[row][col] === "" || 0) {htmltable += '<td>' + 'None' + '</td>';} 
  else
    if (row === 0)  {
      htmltable += '<th>' + data[row][col] + '</th>';
    }
  else {htmltable += '<td>' + data[row][col] + '</td>';}
}
     htmltable += '</tr>';
}
     htmltable += '</table>';
     Logger.log(data);
     Logger.log(htmltable);
MailApp.sendEmail('example@gmail.com', 'Daily report','' ,{htmlBody: htmltable})
}


  • 답변 # 1

    내 복제에 따르면 HTML 형식이 정확하므로 하드 코딩 된 "None"값만 교체하면됩니다. 다음과 같이 단일 공백을 넣을 수 있습니다.

    EDIT: You would need to use getBackgrounds 범위에서 배열 요소를 루프의 HTML 문자열에 복사하십시오.

    function sendMail(){
    var shh = SpreadsheetApp.getActiveSpreadsheet();
    var sh = shh.getSheetByName('Email');
    var r = sh.getRange('A1:J34');
    var data = r.getValues();
    var bgcolors = r.getBackgrounds();
    ...
    for (col = 0 ;col<data[row].length; col++){
      // put white space when empty
      if (data[row][col] === "" || 0) {htmltable += '<td style="background-color:' + bgcolors[row][col] + ';">' + ' ' + '</td>';} 
      else
        if (row === 0)  {
          htmltable += '<th style="background-color:' + bgcolors[row][col] + ';">' + data[row][col] + '</th>';
        }
      else {htmltable += '<td style="background-color:' + bgcolors[row][col] + ';">' + data[row][col] + '</td>';}
    }
    
    

관련 자료

  • 이전 git - 스위칭 분기, 현재 "분리 된 HEAD 상태"+ 되돌리기 중간
  • 다음 C ++ dll 및 이름 맹 글링 문제