Nuovi limiti di pubblicazione di Google Spreadsheets

Sto testando il nuovo Google Spreadsheets perché c’è una nuova funzionalità di cui ho veramente bisogno: il limite di 200 fogli è stato rimosso (maggiori informazioni qui: https://support.google.com/drive/answer/3541068 ).

Tuttavia, non posso pubblicare un foglio di lavoro in CSV come nella vecchia versione. Vado su “File> Pubblica sul Web” e non ci sono più opzioni per pubblicare “tutti i fogli” o determinati fogli e non è ansible specificare intervalli di celle da pubblicare su CSV, ecc.

Questa limitazione non è menzionata nella documentazione “Caratteristiche non supportate” pubblicata disponibile all’indirizzo: https://support.google.com/drive/answer/3543688

C’è un altro modo in cui questo viene abilitato o è stato di fatto lasciato fuori dalla nuova versione?

Il mio caso d’uso è: recuperiamo i risultati di Bigquery nei fogli di calcolo, pubblichiamo i fogli come CSV automaticamente utilizzando la funzione “Pubblica automaticamente all’aggiornamento” che produce l’URL CSV che viene inserito negli strumenti di creazione di grafici che leggono l’URL CSV per generare il visivi.

    Qualcuno sa come fare questo?

    I nuovi fogli di lavoro di Google utilizzano un URL diverso (copia il tuo ):

    • Nuovo foglio: https://docs.google.com/spreadsheets/d//pubhtml
    • File CSV: https://docs.google.com/spreadsheets/d//export?gid=&format=csv

    Il GUID del tuo foglio di calcolo si riferisce al numero di tabulazione.

    /! \ È necessario condividere il documento utilizzando l’impostazione Chiunque con il collegamento .

    Ecco la soluzione, basta scriverla così:

    https://docs.google.com/spreadsheets/d/ < KEY >/ export?format=csv&id= < KEY >

    So che è strano scrivere due volte la KEY, ma funziona perfettamente. Un compagno di squadra ha scoperto questo problema aprendo il file excel in Google Docs, quindi File -> Scarica come -> Valori separati da virgola. Quindi, nella sezione download del browser viene visualizzato un collegamento al file CSV, come questo: https://docs.google.com/spreadsheets/d/ / export? Format = csv & id = & gid = < ALCUN NUMERO> Ma non funziona in questo formato, ciò che il mio amico ha fatto è stato rimuovere “& gid = ” e ha funzionato! Spero che aiuti tutti.

    Non aiuterà tutti, ma ho creato uno script PHP per leggere l’HTML in un array.

    Alla fine ho aggiunto la conversione a un CSV. Speriamo che questo possa aiutare alcune persone che hanno accesso a PHP.

     $html_link = "https://docs.google.com/spreadsheets/d/XXXXXXXXXX/pubhtml"; $local_html = "sheets.html"; $file_contents = file_get_contents($html_link); file_put_contents($local_html,$file_contents); $dom = new DOMDocument(); $html = @$dom->loadHTMLFile($local_html); //Added a @ to hide warnings - you might remove this when testing $dom->preserveWhiteSpace = false; $tables = $dom->getElementsByTagName('table'); $rows = $tables->item(0)->getElementsByTagName('tr'); $cols = $rows->item(0)->getElementsByTagName('td'); //You'll need to edit the (0) to reflect the row that your headers are in. $row_headers = array(); foreach ($cols as $i => $node) { if($i > 0 ) $row_headers[] = $node->textContent; } foreach ($rows as $i => $row){ if($i == 0 ) continue; $cols = $row->getElementsByTagName('td'); $row = array(); foreach ($cols as $j => $node) { $row[$row_headers[$j]] = $node->textContent; } $table[] = $row; } //Convert to csv $csv = ""; foreach($table as $row_index => $row_details){ $comma = false; foreach($row_details as $value){ $value_quotes = str_replace('"', '""', $value); $csv .= ($comma ? "," : "") . ( strpos($value,",")===false ? $value_quotes : '"'.$value_quotes.'"' ); $comma = true; } $csv .= "\r\n"; } //Save to a file and/or output file_put_contents("result.csv",$csv); print $csv; 

    Se abiliti “Chiunque abbia la condivisione dei collegamenti” per il foglio di lavoro, ecco un semplice metodo per ottenere un intervallo di celle o colonne (o qualsiasi altra cosa tu voglia) esportare in formato HTML, CSV, XML, JSON tramite la query:

    https://docs.google.com/spreadsheet/tq?key=YOUR-KEY&gid=1&tq=select%20A,%20B&tqx=reqId:1;out:html;%20responseHandler:webQuery

    • Per il riferimento alla lingua di query di lettura variabile tq .
    • Per riferimento al formato di richiesta di lettura variabile tqx .

    Il lato negativo di questo è che il tuo documento è ancora disponibile per intero tramite il link pubblico, ma se vuoi esportare / importare dati per dire Excel questo è un modo perfetto.

    L’URL corretto per scaricare un foglio di lavoro Google come CSV è:

     https://docs.google.com/spreadsheets/export?id=&exportFormat=csv 

    Ecco un’altra soluzione temporanea, non PHP:

    1. Vai a un nuovo foglio Google esistente
    2. Vai su “File -> Nuovo -> Foglio di calcolo”
    3. Sotto “File -> Pubblica sul Web …” ora ha la possibilità di pubblicare una versione csv

    Credo che questo sia in realtà la creazione di un vecchio foglio di Google, ma per i miei scopi (importando i dati del foglio google dai clienti o da me in R per analisi statistiche) funziona finché non si spera di aggiornare questa funzione.

    Ho postato questo anche in un forum di Google Gruppi, per favore trovalo qui:

    https://productforums.google.com/forum/#!topic/docs/An-nZtjaupU

    Quella nuova caratteristica sembra essere scomparsa. Non vedo alcuna opzione per pubblicare una versione csv / tsv. Posso scaricare tsv / csv con l’esportazione, ma questo non è disponibile ad altre persone con il solo link (reindirizza a un modulo di accesso di Google Documenti).

    Ho trovato una soluzione! Così ho scoperto che i vecchi fogli di calcolo prima di questo cambiamento consentivano ancora solo la pubblicazione di determinati fogli. Così ho fatto una copia di un vecchio foglio di calcolo, ho cancellato i dati, ho copiato e incollato le mie informazioni attuali e ora sto pubblicando felicemente un solo foglio del mio grande foglio di calcolo. Sìì

    Sono stato in grado di implementare una query sul risultato, vedere questa tabella

     https://docs.google.com/spreadsheets/d/1LhGp12rwqosRHl-_N_N8eTjTwfFsHHIBHUFMMyhLaaY/gviz/tq?tq=select+A,B,I,J,K+where+B%3E=4.5&pli=1 

    il foglio di calcolo recupera i dati dal terremoto, ma voglio solo selezionare terremoti MAG 4.5+ in modo da rendere la query e le colonne, solo un problema:

    Non riesco ad analizzare il risultato, ho provato a decodificare come json ma non sono stato in grado di analizzarlo. Mi piacerebbe essere in grado di mostrare questo come HTML o CSV o come analizzare questo? ad esempio per essere in grado di tracciarlo su una mappa di Google.

    Le risposte attuali non funzionano più a lungo. Quanto segue ha funzionato per me: