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
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
se convierte
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
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'']});