15

我在查找允許我下載CSV格式的Google電子表格的鏈接。目前我正在使用:下載Google電子表格CSV導出的鏈接 - 帶有多張表格

https://docs.google.com/spreadsheets/d/DOCID/export?format=csv 

這工作很好,只是它只下載第一張。我的文件有多張。有誰知道如何格式化這個鏈接,以便下載所有的表格或特定的表格?喜歡的東西:

&sheet=all 

&sheet=3 

回答

38

在谷歌表每個文檔支持「圖表工具數據源協議」,這是在這些文章中解釋(在一個相當隨意的方式):

  1. "Creating a Chart from a Separate Spreadsheet"
  2. "Query Language Reference"
  3. "Implementing the Chart Tools Datasource Protocol"

要下載特定表爲CSV文件,與文檔的ID和{sheet_name}與表的名稱替換{key}出口:

https://docs.google.com/spreadsheets/d/{key}/gviz/tq?tqx=out:csv&sheet={sheet_name}

數據源的協議是非常靈活。各種其它選項包括:

響應格式:選項包括tqx=out:csv(CSV格式),tqx=out:html(HTML表),和tqx=out:json(JSON數據)。

導出紙張的一部分:提供range={range}選項,其中範圍可以是任何有效範圍說明符,例如, A1:C99B2:F

執行SQL查詢:提供tq={query}選項,如tq=SELECT a, b, (d+e)*2 WHERE c < 100 AND x = 'yes'

導出文本數據:如果您的字段包含文本數據,請提供headers=0選項,否則它們可能會在導出過程中被剪切掉。

+0

我找不到的部分是揭示文檔的工作表/ gids列表的API接口。所以它無法動態地循環訪問文檔頁。 – Greg

+0

@Greg,您可以從Spreadsheets API獲取工作表(姓名和gid)列表。要使用的URL是「GET https://spreadsheets.google.com/feeds/worksheets/ {fileId}/private/full',除非電子表格是公開的,否則您需要使用OAuth。 – kiwidrew

+0

謝謝。你有沒有發現/如果這是暴露在Drive API中? – Greg

4
  1. 打開谷歌片
  2. 點擊「分享」按鈕,並配置「知道鏈接的人可以查看」
  3. 按F12鍵啓動調試工具在你的網頁瀏覽器,選擇「網絡」選項卡。
  4. 選擇「文件 - >下載爲 - >逗號分隔值.csv當前工作表」(或任何您想要的格式,例如XLSX,ODS,PDF,HTML,CSV或TSV)
  5. 複製從 「網絡」 選項卡

GET請求的URL它會是這個樣子: https://docs.google.com/spreadsheets/d/KEY/export?format=csv&id=KEY&gid=SHEET_ID

注, 「gid」參數是工作表ID,您可以在打開的Google工作表的網址末尾找到該工作表ID。 參考:https://developers.google.com/sheets/api/guides/concepts#sheet_id

相關問題