JavaScript, HTML, CSS e... !
2 commenti

Errore durante la scrittura in un Foglio di Google

Exception: i parametri number non corrispondono alla firma del metodo per setValues

Utilizzando i metodi getRange e setValues di Google Apps Script durante la scrittura dati in un Foglio di Google, possono essere generati diversi errori sulla base di come il codice è stato definito.
Aggiungo un nuovo errore alla lista di quelli frequenti che ho raccolto al seguente indirizzo 'ERRORI FREQUENTI E SOLUZIONI' e che può essere restituito dall'interfaccia dell'edito di script al momento dell'esecuzione del codice, "Exception: i parametri (number[]) non corrispondono alla firma del metodo per SpreadsheetApp.Range.setValues", Fig. 1:



Exception: i parametri (number[]) non corrispondono alla firma del metodo per SpreadsheetApp.Range.setValues

Fig. 1 - Exception: i parametri (number[]) non corrispondono alla firma del metodo per SpreadsheetApp.Range.setValues


A seconda della lingua del browser può essere visualizzato: "Exception: The parameters (number[]) don't match the method signature for SpreadsheetApp.Range.setValues".

Il problema è praticamente quello che spesso genera questo tipo di eccezioni quando si tenta di scrivere su più righe o su più colonne.
Di seguito un esempio di codice che genera l'errore:

sheet.getRange(1, 1, 1, 2).setValues(['val1', 'val2']); // genera l'errore

Questo invece quello corretto:

sheet.getRange(1, 1, 1, 2).setValues([['val1', 'val2']]); // versione CORRETTA

Da notare che la differenza sta "solo" nelle parentesi quadre aggiuntive tra i valori da scrivere, in quanto setValues accetta in ingresso un array ed i valori stessi devono essere a sua volta contenuti in un secondo array.

Tags

Michele Pisani

Michele Pisani

Sviluppatore Javascript ed esperto in Digital Analytics

L'esperienza nel settore Digital Analytics unita ad anni di sviluppo in Javascript ha trovato la massima espressione in Google Apps Script che mi ha permesso, con estrema facilità e poche righe di codice, di realizzare potenti applicazioni interattive e processi automatizzati integrati con i prodotti della G Suite.

Come contattarmi
scrivi un commento

2 Commenti

  1. martedì 2 giugno 2020 alle ore 10.20 Marco

    Grazie, trovo piu' aiuto nei tuoi post che in tutto stackoverflow.
    Complimenti Michele.

    Rispondi a questo commento
    • martedì 2 giugno 2020 alle ore 10.56 Michele PisaniAutore

      Grazie a te Marco per il feedback :)
      Stackoverflow è una fonte inesauribile di informazione per uno sviluppatore :) nello specifico l'errore dell'articolo, in effetti, è abbastanza recente. Per dirla meglio, il messaggio restituito è nuovo rispetto a quelli che ho visto in questi anni e non è molto informativo a livello di risoluzione del problema. Facendo delle prove sono riuscito a capire a cosa viene associato. Mi fa piacere che ti sia stato di aiuto.
      Grazie ancora e buon lavoro!

      Rispondi a questo commento

Scrivi un commento

Il tuo indirizzo email non sarà pubblicato.I campi contrassegnati da un * sono obbligatori
Puoi utilizzare i seguenti tag nei commenti:
[bold]testo[/bold] se vuoi evidenziare un testo con il grassetto[code]function helloworld() { }[/code] se vuoi pubblicare una porzione di codice[url]https://www.appsscript.it[/url] se devi riferirti ad un indirizzo web