0

Je suis un nouveau venu dans Google Sheets et Google Apps Script.Formatage de données dans une boîte de dialogue

Je cherchais des heures à comprendre comment afficher les données que je reçois d'une gamme de cellules dans un format de colonne. Je pourrais avoir besoin d'une sorte de CSS pour l'afficher correctement. Je voudrais 2 colonnes si possible. Actuellement, ce que je reçois est une ligne de texte avec les données séparées par des virgules!

En outre, j'essaie également d'obtenir les données jusqu'à la ligne vide suivante.

A : B : C : D 
1 45 67 79 80 
2 68 66 49 19 
3 
4 47 68 59 81 

Si l'ensemble de données ressemble à ceci dans la feuille, je veux obtenir les données jusqu'à la troisième ligne. J'ai trouvé un code (ci-dessous) mais il obtient toutes les données jusqu'à la dernière ligne de la feuille entière, pas la prochaine cellule vide.

var Avals = ss.getRange("A1:A").getValues(); 
var Alast = Avals.filter(String).length; 

C'est le code avec lequel je travaille jusqu'à présent. Je vais continuer à chaluter sur le web pour voir si elles ont d'autres solutions.

function errorPrompt(missvar) { 
     var missVar = "test"; 
     var ccurr = SpreadsheetApp.getActive().getSheetByName('Sheet1').getRange(2,2).getValues(); 
     var exchangename = SpreadsheetApp.getActive().getSheetByName('Sheet1').getRange(3,1,4,2).getValues(); 

     var htmlOutput = HtmlService 
     .createHtmlOutput(exchangename) 
     .setSandboxMode(HtmlService.SandboxMode.IFRAME) 
     .setWidth(400) 
     .setHeight(300); 
    SpreadsheetApp.getUi().showModalDialog(htmlOutput, ccurr +' Detail'); 
    } 
+0

Vous n'avez aucune expérience avec les scripts. Mais '= ARRAYFORMULA (MATCH (1, (- ISBLANK (A1: A50)), 0))' donne la première ligne vide. –

Répondre

0

Je pense que cela retourne un tableau de valeurs à partir du haut vers le bas de vos données mais non, y compris la première ligne vide. Le tableau de retour est un tableau de lignes.

function getDataDownToTheFirstEmptyRow() 
{ 
    var ss=SpreadsheetApp.getActive(); 
    var sh=ss.getActiveSheet(); 
    var rg=sh.getDataRange(); 
    var vA=rg.getValues(); 
    for(var i=0;i<vA.length;i++) 
    { 
    if(!vA[i].join('')) 
    { 
     return(sh.getRange(1,1,i,sh.getLastColumn()).getValues()); 
    } 
    } 
}