Plage de données exporté dans Gmail

bonjour a tous

j'ai une feuille google sheet avec des lignes de prise de rendez vous

j'ai crée une plage de données (Stocks) selon les consignes d'un "tuto" trouvé sur internet et sur cette feuille j'ai utilisée un script pour envoyer un mail récapitulatif de ma 1/2 journée de travail

Pour afficher le mail j'ai crée aussi une template html avec google script accessible depuis mon sheet

Le script fonctionne seulement dans le mail il affiche des informations pour toutes les lignes "même vide"

Mon nombre de lignes "RDV" et aléatoire et ma plage de donnés de ma feuille et fixe "A1;G12 nomée Stocks"

Je crois qu'il ya un rapport avec la boucle for "<?for(var i = 0; i < stocks.length; i++) {?>"

Ma question:

comment rendre ma plage de données dynamique?

capture22
<tbody>
  <?for(var i = 0; i < stocks.length; i++) {?>
<div dir="ltr">Appels au standard de votre cabinet pour la matinée du <?= stocks[i].calcul_date ?>

    <br>

    <br>Appel pour le compte de : <?= stocks[i].nom_avocat ?>
    <br>Nom du client : <?= stocks[i].appel_de ?>
    <br>Au numéro <?= stocks[i].numero_appel ?>
    <br>Heure d appel du client : <?= stocks[i].date_heure_appel ?>
    <br>Caracteristiques de l appel : <?= stocks[i].carac_appel ?>
    <br>Si prise de rendez-vous, pris pour le : <?= stocks[i].dateheure_rdv ?>
    <br>Syntèse de l'appel : <?= stocks[i].syntese_ticket ?>
    <br>-----------------------

    </div>

    <? } ?>
    </tbody>
function getEmailHtml(stockData) {
  var htmlTemplate = HtmlService.createTemplateFromFile("Template.html");
  htmlTemplate.stocks = stockData;
  var htmlBody = htmlTemplate.evaluate().getContent();
  return htmlBody;
}

function sendEmail() {
  var stockData = getData();
  var body = getEmailText(stockData);
  var htmlBody = getEmailHtml(stockData);

  MailApp.sendEmail({
    to: "*******@gmail.com",
    subject: "Récapitulatif des appels ",
    body: body,
    htmlBody: htmlBody
  });
}

//function sendEmail() {
  //var stockData = getData();
  //var body = getEmailText(stockData);

  //MailApp.sendEmail({
   // to: "*******@gmail.com",
    //subject: "Récapitulatif des appels de la matinée",
    //body: body

  //});
//}

function getEmailText(stockData) {
  var text = "Appels au standard de votre cabinet pour la matinée du ";
  stockData.forEach(function(stock) {
    text = text + stock.calcul_date + "\n\n" + stock.nom_avocat+"\n"+ stock.appel_de + "\n" + stock. numero_appel + "\n" +stock.date_heure_appel+"\n" +stock.carac_appel+"\n" +stock.dateheure_rdv+"\n" +stock.syntese_ticket+"\n-----------------------\n\n";
  });
  return text;
}

/**
 * @OnlyCurrentDoc
 */

function getData() {
  var values =SpreadsheetApp.getActive().getSheetByName("Récapitulatif matinée").getRange("Stocks").getValues(); //SpreadsheetApp.getActive().getRange("Récapitulatif matinée").getValues();
  values.shift(); //remove headers
  var stocks = [];
  values.forEach(function(value) {
    var stock = {};
    stock.calcul_date = value[9] ;
    stock.nom_avocat = value[8]; //"Appel pour le compte de : "+ value[8]
    stock.appel_de = value[3];//"Nom du client : "+ value[3];
    stock.numero_appel = value[4] ;// "Au numéro "+
    stock. numero_dos = value[7] ;//"Si N°de dossier ou nom de dossier : " +
    stock.date_heure_appel =  value[10] ;//"Heure d'appel du client : "+
    stock.carac_appel = value[0] ;//"Caracteristiques de l'appel : "+ 
    stock.alert_appel = value[6] ;
    stock.dateheure_rdv =  value[11] ;//"Si prise de rendez-vous, pris pour le : "+
    stock.syntese_ticket = value[2];//"Syntèse de l'appel : "+
    stocks.push(stock);
  })
  //Logger.log(JSON.stringify(stocks));
  return stocks;

}

Merci de vos réponses

Bonjour, et bienvenue

je n'ai pas une vision complète, mais je pense qu'il suffit de mettre ici un test sur l'une des valeurs de la ligne

  values.forEach(function(value) {
    if (value[8] != '') {
      var stock = {};
      // ...
      stocks.push(stock);
    }
  })

Merci de ta réponse

si je comprend bien quand il trouve cette valeur le script arrête de copier les lignes de (Stocks) comment lui indiquer une valeur vide

Je débute vraiment j"aimerais comprendre

merci d'avance

C'est cela, en espérant que cela réponde (car encore une fois je n'ai pas toute la vision du projet). Plus précisément, il "zappe" la ligne qui a une valeur blanche et passe à la suivante.

Rechercher des sujets similaires à "plage donnees exporte gmail"