Collegare Google Apps Script ad AppSheet
Rimuovere Righe Vuote dai Google Sheets | AppSheet
Una funzionalità che non è presente in modo nativo in AppSheet è quella di rimuovere le righe vuote da un Foglio Google dopo che un elemento nell'app è stato eliminato.
Le uniche due possibilità sono quelle di effettuare l'eliminazione della riga in modo manuale (ma l'operazione non sarebbe né sostenibile né funzionale) oppure quella di utilizzare uno script con Google Apps Script.
Nel video ti mostro la seconda opzione! Ovvero, come collegare all'azione "Rimuovi" in AppSheet uno script di Google Apps Script che elimina in modo automatico la riga dal Foglio Google.
Ecco a te il codice della funzione che puoi copiare ed incollare nella tua app! [ISCRIVITI AL CANALE YOUTUBE]:
function deleteBlankRows() {
var ss = SpreadsheetApp.openById("SPREADSHEET_ID");
var sh = ss.getSheetByName("SHEET_NAME")
var searchDataRange = sh.getRange(1, 1, sh.getLastRow(), sh.getLastColumn());
var searchValues = searchDataRange.getValues();
var numRows = searchValues.length;
var numCols = searchDataRange.getNumColumns();
var rowsToDel = [];
var delRow = -1;
var prevDelRow = -2;
var rowClear = false;
for (var r = 0; r < numRows; r++) {
for (var c = 0; c < numCols; c++) {
if (searchValues[r][c].toString().trim() === "") {
rowClear = true;
} else {
rowClear = false;
break;
}
}
if (rowClear) {
if (prevDelRow === r - 1) {
rowsToDel[delRow][1] = parseInt(rowsToDel[delRow][1]) + 1;
} else {
rowsToDel.push([[r + 1], [1]]);
delRow += 1;
}
prevDelRow = r;
}
}
if (rowsToDel.length > 0) {
if (numRows === rowsToDel[0][1]) {
if (numRows > 1) {
sh.deleteRows(2, numRows - 1);
}
} else {
var rowsToDeleteLen = rowsToDel.length;
for (var rowDel = rowsToDeleteLen - 1; rowDel >= 0; rowDel--) {
sh.deleteRows(rowsToDel[rowDel][0], rowsToDel[rowDel][1]);
}
}
}
}
ISCRIVITI AL CANALE YOUTUBE! E attiva la campanella in modo da essere aggiornato sui prossimi video pubblicati e codici pronti all'uso! :)
Quello nell'articolo è un interessante esempio di come si possono unire i 2 mondi Apps Script e AppSheet! :)
Questo è un valido esempio di come si possono unire i 2 mondi Apps Script e AppSheet! :)
Questo è un valido esempio di come si possono unire i 2 mondi Apps Script e AppSheet! :)
Questo è un valido esempio di come si possono unire i 2 mondi Apps Script e AppSheet! :)
Ciao, esiste la possibilità di eliminare righe nelle quali ci sono solo alcune celle vuote?
Avrei bisogno di eliminare per intero queste righe seppur le colonne A e B siano occupate da dati (inutili). Grazie
Ciao Carlo, certo che è passibile. Il codice deve essere ovviamente modificato, un approccio può essere quello di prendere tutte le righe e gestire quali eliminare in base a una condizione all'interno del ciclo.