Ready to get started?

Download a free trial of the Google Sheets Driver to get started:

 Download Now

Learn more:

Google Sheets Icon Google Sheets JDBC Driver

Easily connect Java applications with real-time data from spreadsheets stored in Google Docs. Use Google Sheets to manage the data that powers your applications.

Connect to Google Sheets Data in CloverDX (formerly CloverETL)



Transfer Google Sheets data using the visual workflow in the CloverDX data integration tool.

The CData JDBC Driver for Google Sheets enables you to use the data transformation components in CloverDX (formerly CloverETL) to work with Google Sheets as sources and destinations. In this article, you will use the JDBC Driver for Google Sheets to set up a simple transfer into a flat file. The CData JDBC Driver for Google Sheets enables you to use the data transformation components in CloverDX (formerly CloverETL) to work with Google Sheets as sources and destinations. In this article, you will use the JDBC Driver for Google Sheets to set up a simple transfer into a flat file.

Connect to Google Sheets as a JDBC Data Source

  1. Create the connection to Google Sheets data. In a new CloverDX graph, right-click the Connections node in the Outline pane and click Connections -> Create Connection. The Database Connection wizard is displayed.
  2. Click the plus icon to load a driver from a JAR. Browse to the lib subfolder of the installation directory and select the cdata.jdbc.googlesheets.jar file.
  3. Enter the JDBC URL.

    You can connect to a spreadsheet by providing authentication to Google and then setting the Spreadsheet connection property to the name or feed link of the spreadsheet. If you want to view a list of information about the spreadsheets in your Google Drive, execute a query to the Spreadsheets view after you authenticate.

    ClientLogin (username/password authentication) has been officially deprecated since April 20, 2012 and is now no longer available. Instead, use the OAuth 2.0 authentication standard. To access Google APIs on behalf on individual users, you can use the embedded credentials or you can register your own OAuth app.

    OAuth also enables you to use a service account to connect on behalf of users in a Google Apps domain. To authenticate with a service account, you will need to register an application to obtain the OAuth JWT values.

    See the Getting Started chapter in the help documentation to connect to Google Sheets from different types of accounts: Google accounts, Google Apps accounts, and accounts using two-step verification.

    Built-in Connection String Designer

    For assistance in constructing the JDBC URL, use the connection string designer built into the Google Sheets JDBC Driver. Either double-click the JAR file or execute the jar file from the command-line.

    java -jar cdata.jdbc.googlesheets.jar

    Fill in the connection properties and copy the connection string to the clipboard.

    A typical JDBC URL is below:

    jdbc:googlesheets:Spreadsheet=MySheet;InitiateOAuth=GETANDREFRESH

Query Google Sheets Data with the DBInputTable Component

  1. Drag a DBInputTable from the Readers selection of the Palette onto the job flow and double-click it to open the configuration editor.
  2. In the DB connection property, select the Google Sheets JDBC data source from the drop-down menu.
  3. Enter the SQL query. For example: SELECT Shipcountry, SUM(OrderPrice) FROM Orders GROUP BY Shipcountry

Write the Output of the Query to a UniversalDataWriter

  1. Drag a UniversalDataWriter from the Writers selection onto the jobflow.
  2. Double-click the UniversalDataWriter to open the configuration editor and add a file URL.
  3. Right-click the DBInputTable and then click Extract Metadata.
  4. Connect the output port of the DBInputTable to the UniversalDataWriter.
  5. In the resulting Select Metadata menu for the UniversalDataWriter, choose the Orders table. (You can also open this menu by right-clicking the input port for the UniversalDataWriter.)
  6. Click Run to write to the file.