vincular sincronizar sheets sheet importar hojas google datos consolidar con combinar celdas calculo actualizar database json google-spreadsheet

database - sincronizar - Consultar hojas específicas de una hoja de cálculo de google



vincular excel a google sheets (2)

Estoy intentando utilizar una hoja de cálculo de Google como una base de datos temporal. He seguido las instrucciones en el siguiente tutorial y todo está funcionando bien

http://www.alatechsource.org/blog/2012/05/using-the-google-spreadsheets-data-api-to-build-a-recommended-reading-list-code-words.h

El jquery que obtiene los datos que he copiado a continuación para ref

Me preguntaba si sería posible (usando el mismo código o el mismo), suponiendo que hay varias hojas dentro de la hoja de cálculo para consultar solo una a la vez. Entonces, por ejemplo, podría ejecutar el siguiente código pero solo para decir la hoja 4.

He intentado agregar hoja ref # de la URL web (es decir, # gid = 1) al final del código numérico, por lo que

" https://spreadsheets.google.com/feeds/list/0Ak0qDiMLT3XddHlNempadUs1djdkQ0tFLWF6ci1rUUE/od6/public/values?alt=json-in-script&callback= ?"

se convierte

" https://spreadsheets.google.com/feeds/list/0Ak0qDiMLT3XddHlNempadUs1djdkQ0tFLWF6ci1rUUE#gid=1/od6/public/values?alt=json-in-script&callback= ?"

pero esto no funciona, el código solo parece recorrer la primera hoja

¿Alguien puede aconsejar sobre esto?

Cualquier ayuda es muy apreciada

<script type="text/javascript"> $(document).ready(function() { //source file is https://docs.google.com/spreadsheet/ccc? key=0Ak0qDiMLT3XddHlNempadUs1djdkQ0tFLWF6ci1rUUE $(function listBooks() { $.getJSON( "https://spreadsheets.google.com/feeds/list/0Ak0qDiMLT3XddHlNempadUs1djdkQ0tFLWF6ci1rUUE/od6/public/values?alt=json-in-script&callback=?", function (data) { $(''div#book-list'').append(''<ul class="items"></ul>''); $.each(data.feed.entry, function(i,entry) { var item = ''<span style="display:none">'' + entry.id.$t + ''</span>''; item += ''<img src="http://covers.openlibrary.org/b/isbn/'' + entry.gsx$isbn.$t + ''-S.jpg"/>''; item += ''<span class="meta"><a href="http://www.worldcat.org/isbn/'' + entry.gsx$isbn.$t + ''">'' + entry.title.$t + ''</a>''; item += ''<br/>Author: '' + entry.gsx$author.$t; if (entry.gsx$notes.$t) { item += ''<br/>Description: '' + entry.gsx$notes.$t; } $(''.items'').append(''<li>'' + item + ''</span></li>''); }); }); }); }); </script>


Ok, tengo una solución para cualquiera que esté interesado, aunque no es tan sensato como hubiera esperado

Gracias al blogpost siguiente

http://damolab.blogspot.co.uk/2011/03/od6-and-finding-other-worksheet-ids.html

Parece que el id para hojas específicas es el / od6 / parte de la URL y od6 es el nombre predeterminado dado a la primera, por defecto, hoja

" https://spreadsheets.google.com/feeds/list/0Ak0qDiMLT3XddHlNempadUs1djdkQ0tFLWF6ci1rUUE/od6/public/values?alt=json-in-script&callback= ?"

En la publicación de blog anterior hay un ejemplo de cómo encontrar las ID de hojas específicas si es necesario. No parece tener una lógica clara, pero al cambiarlo escupirá los datos de hojas específicas para que funcione.


Me doy cuenta de que esta es una publicación anterior, pero he estado luchando contra esto por un tiempo. Hice mi propia biblioteca para encargarme de esto y espero que esto ahorre a alguien muchas horas de investigación y jugando con la API de Google. El formato general es casi literal de la documentación de google y eliminé la comprobación de errores para mantenerme conciso. Lo que no pude encontrar en la documentación de google fue cómo consultar una pestaña que no es la primera. Creo que esto es lo que estamos buscando aquí.

En función de lo que ya tienes, esto debería responderlo.

table_name_here/gviz/tq?sheet=tab_name_here

Como un ejemplo para todos los que vienen después de ti:

https://docs.google.com/spreadsheets/d/17mbdvl1jVpqj42E3BSX34q9XUA2PbYubYKpVeypbHLA/gviz/tq?sheet=Sheet1 Esto podría utilizarse como table_string en el código siguiente.

''SELECT *'' Esto podría usarse como query_string en el código siguiente.

Dentro del contexto:

function gimmeATable(){ var query = new google.visualization.Query(''table_string''); query.setQuery(''query_string''); query.send(handleQueryResponse); }

function handleQueryResponse(response){ var data = response.getDataTable; drawTable(data); }

function drawTable(data){ var table = new google.visualization.Table(document.getElementById(''div1'')); table.draw(data, {showRowNumber: true}); }

Y no se olvide de incluir la API de Google, así como el tipo de paquete. Para esto, solo necesitas una mesa.

<script type="text/javascript" src="https://www.google.com/jsapi"></script> google.load("visualization", ''1'', {packages:[''table'']});