Search Shortcut cmd + k | ctrl + k

- Overview
- Documentation
- Development
- Download Metrics
- FAQ
- Core Extensions
- List of Community Extensions

- ulid
- h3
- bigquery
- sheetreader
- prql

gsheets
Downloads 342this week

Read and write Google Sheets using SQL

Extension repository on GitHub
Extension descriptor (YAML)

### Installing and Loading

    INSTALL gsheets FROM community;
    LOAD gsheets;

### Example

    -- Authenticate with Google Account in the browser (easiest)
    CREATE SECRET (TYPE gsheet);

    -- OR create a secret with your Google API access token (boring, see extension docs)
    CREATE SECRET (
      TYPE gsheet,
      PROVIDER access_token,
      TOKEN '<your_token>'
    );

    -- Read a spreadsheet by full URL
    FROM read_gsheet('https://docs.google.com/spreadsheets/d/11QdEasMWbETbFVxry-SsD8jVcdYIT1zBQszcF84MdE8/edit');

    -- Read a spreadsheet by full URL, implicitly
    FROM 'https://docs.google.com/spreadsheets/d/11QdEasMWbETbFVxry-SsD8jVcdYIT1zBQszcF84MdE8/edit';

    -- Read a spreadsheet by spreadsheet id
    FROM read_gsheet('11QdEasMWbETbFVxry-SsD8jVcdYIT1zBQszcF84MdE8');

    -- Read a spreadsheet with no header row
    SELECT * FROM read_gsheet('11QdEasMWbETbFVxry-SsD8jVcdYIT1zBQszcF84MdE8', headers=false);

    -- Read a sheet other than the first sheet using the sheet name
    SELECT * FROM read_gsheet('11QdEasMWbETbFVxry-SsD8jVcdYIT1zBQszcF84MdE8', sheet='Sheet2');

    -- Read a sheet other than the first sheet using the sheet id in the URL
    SELECT * FROM read_gsheet('https://docs.google.com/spreadsheets/d/11QdEasMWbETbFVxry-SsD8jVcdYIT1zBQszcF84MdE8/edit?gid=644613997#gid=644613997');

    -- Write a spreadsheet from a table by spreadsheet id
    COPY <table_name> TO '11QdEasMWbETbFVxry-SsD8jVcdYIT1zBQszcF84MdE8' (FORMAT gsheet);

    -- Write a spreadsheet from a table by full URL
    COPY <table_name> TO 'https://docs.google.com/spreadsheets/d/11QdEasMWbETbFVxry-SsD8jVcdYIT1zBQszcF84MdE8/edit?usp=sharing' (FORMAT gsheet);

    -- Write a spreadsheet to a specific sheet using the sheet id in the URL
    COPY <table_name> TO 'https://docs.google.com/spreadsheets/d/11QdEasMWbETbFVxry-SsD8jVcdYIT1zBQszcF84MdE8/edit?gid=1295634987#gid=1295634987' (FORMAT gsheet);

### About gsheets

The DuckDB GSheets Extension allows reading and writing of data in Google Sheets from DuckDB. For detailed setup and usage instructions, visit the docs at duckdb-gsheets.com.

### Added Functions

function_name | function_type | description | comment | example
--- | --- | --- | --- | ---
read_gsheet | table |  |  |