[英]Query specific sheets of a google spreadsheet
我正在嘗試將Google電子表格用作臨時數據庫。 我按照下面的教程中的說明進行操作,一切正常
獲取我在下面復制的數據的jquery為ref
我想知道是否可能(使用相同或類似的代碼),假設電子表格中有多個工作表一次只查詢一個。 例如,您可以運行以下代碼,但僅適用於表4。
我嘗試在數字代碼的末尾從Web URL(即#gid = 1)添加sheet ref#
變
但這不起作用,代碼似乎只循環通過第一張表
任何人都可以就此提出建議嗎?
任何幫助深表感謝
<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>
好吧,我對任何有興趣的人都有一個解決方案,盡管它並不像我希望的那樣明智
感謝以下博客帖子
http://damolab.blogspot.co.uk/2011/03/od6-and-finding-other-worksheet-ids.html
似乎特定工作表的id是URL的/ od6 /部分,od6是第一個默認工作表的默認名稱
在上面的博客文章中,有一個示例,說明如何根據需要找出特定工作表的ID。 似乎沒有一個干凈的邏輯,但改變它將吐出特定表格中的數據,因此它的工作原理。
我意識到這是一個很老的帖子,但我已經打了一段時間了。 我創建了自己的圖書館來處理這個問題,我希望這可以節省一些人花費數小時研究並使用google api進行游戲。 一般格式幾乎是從谷歌文檔逐字逐句,我刪除了錯誤檢查以保持簡潔。 我在谷歌文檔中找不到的是如何查詢不是第一個的選項卡。 我想這就是我們在這里尋找的東西。
根據你已經擁有的,這應該回答它。
table_name_here/gviz/tq?sheet=tab_name_here
作為所有追隨你的人的榜樣:
https://docs.google.com/spreadsheets/d/17mbdvl1jVpqj42E3BSX34q9XUA2PbYubYKpVeypbHLA/gviz/tq?sheet=Sheet1
這可以在下面的代碼中用作table_string。
'SELECT *'
這可以在下面的代碼中用作query_string。
在上下文中:
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}); }
並且不要忘記包括谷歌api以及包類型。 為此你只需要一張桌子。
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
google.load("visualization", '1', {packages:['table']});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.