下载Google Spreadsheets CSV导出链接 - 使用多张表格

Pla*_*tin 41 google-sheets google-spreadsheet-api google-drive-api

我正在尝试找到一个链接,允许我下载我的Google电子表格的CSV格式版本.目前我正在使用:

https://docs.google.com/spreadsheets/d/DOCID/export?format=csv
Run Code Online (Sandbox Code Playgroud)

这很好用,只是它只下载第一张Sheet.我的文档有多张表.有谁知道如何格式化此链接,以便下载所有工作表或特定工作表?就像是:

&sheet=all
Run Code Online (Sandbox Code Playgroud)

要么

&sheet=3
Run Code Online (Sandbox Code Playgroud)

kiw*_*rew 101

Google表格中的每个文档都支持"图表工具数据源协议",这些文章在这些文章中进行了解释(以相当随意的方式):

  1. "从单独的电子表格创建图表"
  2. "查询语言参考"
  3. "实现图表工具数据源协议"

要将特定工作表下载为CSV文件,请替换{key}为文档的ID以及{sheet_name}要导出的工作表的名称:

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的情况下,你的字段包含文本数据选项,否则他们可能会在导出过程中被切出.

  • @Greg,您可以从电子表格 API 获取工作表列表(名称和 gid)。要使用的 URL 是“GET https://spreadsheets.google.com/feeds/worksheets/{fileId}/private/full”,除非电子表格是公开的,否则您需要进行 OAuth。 (2认同)
  • 谷歌改变了一些东西。不再有效。相反,您会收到文件已移动的重定向。该链接是 data.csv,您必须将其作为第二步。 (2认同)

hum*_*ads 18

  1. 打开Goog​​le表格
  2. 单击"共享"按钮并配置"链接可以查看的任何人"
  3. 按F12在Web浏览器中启动调试工具,然后选择"Net"选项卡.
  4. 选择"文件 - >下载为 - >逗号分隔值.csv当前工作表"(或您想要的任何格式,例如xlsx,ods,pdf,html,csv或tsv)
  5. 从"网络"选项卡复制GET请求的URL

它看起来像这样:https: //docs.google.com/spreadsheets/d/KEY/export?format = ccs&id = KEY&gid = SHEET_ID

请注意,"gid"参数是工作表ID,您可以在打开的Google工作表的网址末尾找到该工作表ID.参考:https://developers.google.com/sheets/api/guides/concepts#sheet_id

  • 即使没有“id”参数,似乎也可以工作,如下所示:https://docs.google.com/spreadsheets/d/KEY/export?format=csv&amp;gid=SHEET_ID (3认同)
  • +1因为你的链接在我的场景中有效:接受的答案似乎在sheet_name参数中不区分大小写(即foo和Foo将始终为我下载名为foo的工作表),而gid是唯一的,所以这总是有效。 (2认同)

Par*_*Sen 12

这是一个示例csv数据,可以下载。像这样制作此数据的下载链接

  1. 打开谷歌表 ->空白->文件->打开
  2. 从“我的云端硬盘”或“上传”中打开文件
  3. 文件->发布到网络->“工作表名称”选项和“ csv”选项

  • 我不确定为什么这个答案会被否决。这是一个很好且有效的答案。通过这种方法,我可以提供未经身份验证的CSV URL,甚至可以静态导出给定版本的CSV URL。 (4认同)
  • @kslstn 使用curl -L "https://..." 而不是仅仅curl "https://..."。curl 的 -L 选项遵循重定向。 (4认同)
  • 可能是因为 Google 刷新发布的 CSV 需要几分钟的时间。 (2认同)

Dan*_*yen 9

截至2020年11月,最优雅、最简单的解决方案似乎埋在@jrc的回复中

https://docs.google.com/spreadsheets/d/KEY/export?format=csv&gid=SHEET_ID

这是一个活生生的例子;因为有一个谷歌的板材KEY1CTgM1g_aYoWFFpHU6A_qyqWGH0ulCFhs67uAcRVf1Rw

即:https : //docs.google.com/spreadsheets/d/1CTgM1g_aYoWFFpHU6A_qyqWGH0ulCFhs67uAcRVf1Rw

要获取其第一张工作表(即gid=0)的 CSV 导出的永久链接,请附加/export?format=csv&gid=0::

https://docs.google.com/spreadsheets/d/1CTgM1g_aYoWFFpHU6A_qyqWGH0ulCFhs67uAcRVf1Rw/export?format=csv&gid=0

注意:如果您只是导出第一个工作表,即gid=0,则 URL 与原始问题中提出的 URL 格式相同,即

(默认情况下,端点将假定gid=0是否未指定)

https://docs.google.com/spreadsheets/d/DOCID/export?format=csv
Run Code Online (Sandbox Code Playgroud)

  • 它是“最简单的”,因为它使用与 GSheets 大部分生命周期相同的端点格式和约定。与用户从工作表 URL 中获得的信息相比,导出它不需要更多的工作或信息。能够立即派生永久链接并不是“边缘情况” (4认同)

Adr*_*eri 6

2021更新...问题已在另一篇文章中得到很好的回答。我会添加一些需要注意的事情...

在“发布到网络”上有:

  1. 带有选择格式选项的下拉菜单,
  2. 选择您想要包含纸张,
  3. 最后一个复选框以确保重新发布更改

发布到 Google 表格网页版