Remplir des données avec google apps Script

0
746

Bonjour et bienvenue sur cette vidéo ou nous allons voir ensemble comment remplir des données dans google sheets depuis Apps Scripts.

Remplir des données dans un cellule spécifique

Ici dans notre exemple nous avons une table ou nous allons indiquer le prénom et nom d’un étudiant. Cela nous allons le faire avec Google Script apps. Donc dans notre éditeur de code nous allons créer une fonction ou nous allons récupérer les cellules que nous voulons modifier.

function addStudent(){
  let sheet = SpreadsheetApp.getActive().getSheetByName('Student');
  let range = sheet.getRange('A2:B2');
}

Désormais que nous avons nos champs nous pouvons spécifier la cellule à modifier avec le getCell ou le premier paramètre, la ligne et le second paramètre et la colonne. la fonction setValue nous permet de placer une valeur dans la cellule.

function addStudent(){
  let sheet = SpreadsheetApp.getActive().getSheetByName('Student');
  let range = sheet.getRange('A2:B2');
  range.getCell(1,1).setValue('Tuto');
  range.getCell(1,2).setValue('De Rien');
}

Remplir une plage de cellule avec la même valeur

Alors nous avons vu comment remplir une cellule spécifique mais qu’en est t’il si nous voulons remplir plusieure champs en une seule fois avec la même valeur, nous n’allons pas spécifier un cellule mais simplement utiliser la fonction setValue sur toute la plage de cellule.

function addStudent(){
  let sheet = SpreadsheetApp.getActive().getSheetByName('Student');
  let range = sheet.getRange('A2:B7');
  range.setValue('Unknown');
}

Remplir une plage de cellule avec des données différente

Bien si nous voulons introduire des données différentes dans une plage de cellule, nous pouvons utiliser la fonction setValues qui nous permet d’ajouter plusieurs données en forme de liste dans une liste.

Alors je m’explique, nous allons devoir créer une liste que nous pouvons appeler “liste de donnée” et cette “liste de donnée” contient une donnée qui sera une liste ou chaque entrée dans la liste représente une colonne.

function addStudent(){
  let sheet = SpreadsheetApp.getActive().getSheetByName('Student');
  let range = sheet.getRange('A2:B7');
  let listOfData = [
    ['Tuto','De Rien'],
    ['Tom','Mot'],
    ['Leo','Oel'],
    ['Mia','Kia'],
    ['Cess','Fress'],
    ['Sophie','Forest']
  ]
  range.setValues(listOfData);
}

Remplir des données à la fin d’une table 

Désormais que nous savons comment remplir des données dans google sheets nous allons voir comment ajouter une donner à la fin d’une table. Ici nous pouvons utiliser la fonction appendRow de la page qui ajoutera automatiquement nos données à la fin de notre table.

function addStudent(){
   let sheet = SpreadsheetApp.getActive().getSheetByName('Student');
   sheet.appendRow(['New','Student']);
}

cette fonction est bien si nous avons qu’une seule ligne à ajouter car si nous voulons ajouter plusieure ligne de cette façon cela risque de prendre du temps et n’est pas vraiment performant. dans l’exemple ici nous allons ajouter 100 entrée dans google sheets et cela va prendre +- 20 sec.

function addStudent(){
   let sheet = SpreadsheetApp.getActive().getSheetByName('Student');
   for(let x = 1; x <=100; x ++){
    sheet.appendRow(['New'+x,'Student'+x]);
   }
}

Pour être plus performant nous allons simplement définir la plage de données ou nous allons placer nos données et de les ajouter en une seule fois qui devrait prendre 1 sec.

function addStudent(){
  //Creation of the students
  let studentList = [];
  for(let x = 1; x <= 100 ; x ++){
    studentList.push(['New'+x,'Student'+x]);
  }
  //get the student sheet
  let sheet = SpreadsheetApp.getActive().getSheetByName('Student');
  //get the sheet row informations
  const currentLastRow = sheet.getLastRow();
  const firstRowToAdd = currentLastRow + 1;
  const lastRowToAdd = studentList.length + currentLastRow;
  //retrieve the range that need to be populated with the Students data
  let range = sheet.getRange('A'+firstRowToAdd+':B'+lastRowToAdd);
  range.setValues(studentList);
}

Voilà nous avons vu les bases de google sheet apps script et désormais on sais comment lire et écrire des données.

LAISSER UN COMMENTAIRE

Please enter your comment!
Please enter your name here

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.