15

Sto cercando un collegamento che mi consenta di scaricare una versione CSV del mio foglio di lavoro Google. Attualmente sto usando:Link di download per fogli di lavoro di Google Esportazione CSV - con più fogli

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

Questo funziona benissimo tranne che scarica solo il primo foglio. Il mio documento ha più fogli. Qualcuno sa come formattare questo link in modo che possa scaricare tutti i fogli o un foglio specifico? Qualcosa di simile:

&sheet=all 

o

&sheet=3 

risposta

38

Ogni documento in Google Fogli sostiene la "Strumenti grafico protocollo di origine dati", che è spiegato (in modo piuttosto casuale) in questi articoli:

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

Per scaricare un foglio specifico come file CSV, sostituire {key} con ID del documento e {sheet_name} con il nome del foglio da esportare:

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

protocollo L'origine dati è abbastanza flessibile. Diverse altre opzioni includono: Formato

Risposta: opzioni includono tqx=out:csv (formato CSV), tqx=out:html (tabella HTML), e tqx=out:json (dati JSON).

Parte di esportazione di un foglio: Fornire l'opzione range={range}, in cui l'intervallo può essere un identificatore di intervallo valido, ad es. A1:C99 o B2:F.

Esecuzione di una query SQL: Fornire l'opzione tq={query}, ad esempio tq=SELECT a, b, (d+e)*2 WHERE c < 100 AND x = 'yes'.

Esporta dati testuali: Fornire l'opzione headers=0 nel caso in cui i campi contengano dati testuali, altrimenti potrebbero essere tagliati durante l'esportazione.

+0

Il pezzo che non riesco a trovare è l'interfaccia API che rivela l'elenco di fogli/gid per un documento. In questo modo è impossibile eseguire il looping dei fogli di documento in modo dinamico. – Greg

+0

@Greg, è possibile ottenere l'elenco di fogli (nome e gid) dall'API di Spreadsheets. L'URL da utilizzare è 'OTTIENI https://spreadsheets.google.com/feeds/worksheets/ {fileId}/privato/completo' e dovrai eseguire OAuth a meno che il foglio di lavoro non sia pubblico. – kiwidrew

+0

grazie. hai trovato dove/se questo è esposto nell'API di Drive? – Greg

4
  1. Aprire il foglio di Google
  2. Fai clic sul pulsante "Condividi" e configurare "Chiunque abbia il link può visualizzare"
  3. Premere F12 per lanciare strumenti di debug nel browser Web e selezionare la scheda "Rete".
  4. Selezionare "File -> Scarica come -> Valori separati da virgola .csv foglio corrente" (o qualsiasi altro formato si desideri, ad es.xlsx, ODS, PDF, HTML, CSV o TSV)
  5. copia l'URL della richiesta GET dalla scheda "Rete"

Si sarà simile a questo: https://docs.google.com/spreadsheets/d/KEY/export?format=csv&id=KEY&gid=SHEET_ID

nota, il parametro "gid" è l'ID del foglio, che puoi trovare alla fine dell'URL del foglio Google aperto. Riferimento: https://developers.google.com/sheets/api/guides/concepts#sheet_id