1. ホーム
  2. google-sheets

[解決済み] Google Spreadsheets CSV export - with Multiple Sheets のダウンロードリンクです。

2022-11-07 12:28:28

質問

Google Spreadsheet の CSV フォーマットのバージョンをダウンロードするためのリンクを見つけようとしています。 現在、私は使用しています。

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

これは、最初のシートしかダウンロードしないことを除けば、とてもうまくいきます。 私の文書には複数のシートがあります。 すべてのシートまたは特定のシートをダウンロードするように、このリンクをフォーマットする方法をご存知の方はいらっしゃいますか? 次のようなものです。

&sheet=all

または

&sheet=3

どのように解決するのですか?

Google Sheets のすべてのドキュメントは "Chart Tools datasource protocol" をサポートしており、これらの記事で (かなり行き当たりばったりの方法で) 説明されています。

  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データ)の3種類があります。

シートの一部をエクスポートします。 シート上に range={range} オプションを指定します。ここで、範囲は任意の有効な範囲指定子、例えば A1:C99 または B2:F .

SQLクエリを実行します。 SQLクエリに tq={query} のようなオプションを指定します。 tq=SELECT a, b, (d+e)*2 WHERE c < 100 AND x = 'yes' .

テキストデータをエクスポートします。 供給する headers=0 オプションをつけてください。そうしないと、エクスポート時に切り取られる可能性があります。