Con esta función personalizada de Google Spreadsheet, elaborada con Google Apps Script, podrás obtener tus datos en formato JSON
Cómo funciona
-->
Ahora inserta la función en una celda:
=datosenJSON(A2:E7;A1:E1)
-->{"Hoja 1":[{"Cab1":"A1","Cab2":"B1","Cab3":"C1","Cab4":"D1","Cab5":"E1"},{"Cab1":"A2","Cab2":"B2","Cab3":"C2","Cab4":"D2","Cab5":"E2"},{"Cab1":"A3","Cab2":"B3","Cab3":"C3","Cab4":"D3","Cab5":"E3"},{"Cab1":"A4","Cab2":"B4","Cab3":"C4","Cab4":"D4","Cab5":"E4"},{"Cab1":"A5","Cab2":"B5","Cab3":"C5","Cab4":"D5","Cab5":"E5"},{"Cab1":"A6","Cab2":"B6","Cab3":"C6","Cab4":"D6","Cab5":"E6"}]}
function datosenJSON(datos,cabecera) {
//Por Ignacio Baixauli. Bajo licencia Creative Commons CCBYNC
var nombreSet = SpreadsheetApp.getActive().getActiveSheet().getName();
var objetoJSON = {};
objetoJSON[nombreSet] = [];
for (var nFila in datos) {
objetoJSON[nombreSet][nFila] = {};
for (var nColumna in datos[nFila]) {
objetoJSON[nombreSet][nFila][cabecera[0][nColumna]] = datos[nFila][nColumna]
}
}
return JSON.stringify(objetoJSON);
}
- Herramientas / Editor de secuencia de comandos
- Archivo / Cambiar nombre
- Poner como nombre "MiProyecto" o cualquier otro que prefieras
- Cambia el código por defecto "MyFunction...." por el que te proporciono en este post
- Archivo / Guardar
Para ejecutar la función, rellena una hoja de datos con una fila que sea la cabecera. Por ejemplo:
Cab1 | Cab2 | Cab3 | Cab4 | Cab5 |
A1 | B1 | C1 | D1 | E1 |
A2 | B2 | C2 | D2 | E2 |
A3 | B3 | C3 | D3 | E3 |
A4 | B4 | C4 | D4 | E4 |
A5 | B5 | C5 | D5 | E5 |
A6 | B6 | C6 | D6 | E6 |
Ahora inserta la función en una celda:
El resultado es el siguiente:
Comentarios