Como eliminar texto de un sheet con Google Apps Script


En ocasiones puede ser útil tener un script que se encargue de eliminar ciertos caracteres de nuestro spreadsheet con Google Apps Script. Generalmente cuando importamos datos de un CSV , o de una API podemos obtener los datos en un formato que no nos va bien para el resto del proyecto.

Todo lo que tendremos que hacer es obtener todos los datos del spreadsheet, ver para cada celda si existe el carácter en concreto que queremos eliminar y reemplazarlo por un carácter nulo. Cuando hayamos acabado de reemplazarlo solo tendremos que volver a poner toda la info en el spreadsheet. 

Aunque pueda parecer complicado ,es muy muy fácil, ya lo veréis.

En este ejemplo concreto lo haremos eliminando el carácter  "»" que puede darnos problemas con fórmulas por ejemplo.

function onOpen()
{
    SpreadsheetApp.getUi().createMenu("[SCRIPT]").addItem("Refactor", "Refactor").addToUi();
}

function Refactor()
{
    var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
    var range = sheet.getDataRange();
    var values = range.getValues();

    for(var i = 0 ; i < values.length ; ++i)
    {
        for(var j = 0 ; j < values[i].length ; ++j)
        {
            var str = values[i][j];

            if ( typeof(str) === 'string')
            {
                while( str.indexOf("»") != -1)
                {
                    str = str.replace("»","");
                }
                values[i][j] = str;
            }
        }
    }

    range.setValues(values);
}

Para probar su funcionamiento, copiad este código en el editor de código del spreadsheet donde querais implementar la funcionalidad, guardad y refrescad el spreadsheet.

Al reiniciar veréis que os aparece una opción en el menú superior [SCRIPT]> Refactor , que cuando le clickeis se encargará de hacer su magia.

Espero que os haya servido.

No vaciléis en hacerme llegar vuestras dudas.

Nos vemos!

No hay comentarios:

Publicar un comentario

Tal vez te interese