The Google Sheets ADO.NET Data Provider enables user to easily connect to Google Sheets data from .NET applications. Easily connect .NET applications with real-time data from spreadsheets stored in Google Docs. Use Google Sheets to manage the data that powers your applications.
Google Sheets .NET Connectivity Features
- Access Google Spreadsheet data as an entire worksheet or from discrete ranges of data within a worksheet
- Represent discrete blocks of data as tables through automatic detection or by manually specifying ranges of data
- Optionally specify if the first row of data should be used for field names
- Read tables that are oriented horizontally or vertically
- Powerful metadata querying enables SQL-like access to non-database sources
- Push down query optimization pushes SQL operations down to the server whenever possible, increasing performance
- Client-side query execution engine, supports SQL-92 operations that are not available server-side
- Connect to live Google Sheets data, for real-time data access with the Google Sheets ODBC Driver
- Full support for data aggregation and complex JOINs in SQL queries
- Secure connectivity through modern cryptography, including TLS 1.2, SHA-256, ECC, etc.
- Seamless integration with leading BI, reporting, and ETL tools and with custom applications via the Google Sheets Connector.
Target Service, API
CData Google Sheets ADO.NET driver allows you to access Google Sheets as tables. The driver leverages two drivers: the Google Drive API to enable bidirectional access to Google Sheets and the Google Sheets to retrieve the actual data.
Schema, Data Model
The driver models spreadsheets and ranges as relational tables. The driver enables you to represent a top-left-oriented spreadsheet or a user-specified range as a database table. You can control how tables are listed by setting the Header property.
Key Objects
User defined sheets are being exposed as tables.
Operations
The driver supports standard operations (SELECT, INSERT, UPDATE, DELETE) and bulk operations (INSERT INTO SELECT, UPDATE SELECT, DELETE SELECT).
Authentication
CData provides an embedded OAuth application that simplifies authentication at the desktop. You can also authenticate from the desktop via a custom OAuth application, which you configure and register at the Google Sheets console.. Supported Authentication Schemes are; Token, OAuth, OAuthJWT, GCPInstanceAccount, AWSWorkloadIdentity
Specific feature or properties
You can also create, copy or delete sheets, or Up/Download Documents to Google Drive.
See what you can do with Google Sheets ADO.NET provider
Use Google Sheets from SQL Server Analysis Service (SSAS) multi-dimensional cubes. Keep your analytical data modeling and access to any source including cloud and on-premises.
The Google Sheets ADO.NET Provider allows developers to build applications that connect to Google Sheets using familiar SQL and Entity Framework. Integrate Google Sheets to your mission -critical applications or create easy side-by-side applications.
You can connect from ADO.NET compliant low-code development tools:
You can connect Google Sheets from .NET-based reporting and analytics tools:
Standard ADO.NET Access to GoogleSheets
The Google Sheets ADO.NET Provider offers the most natural way to access Google Sheets data from any .NET application. Simply use Google Sheets Data Provider objects to connect and access data just as you would access any traditional database. You will be able to use the Google Sheets Data Provider through Visual Studio Server Explorer, in code through familiar classes, and in data controls like DataGridView, GridView, DataSet, etc.
The CData ADO.NET Provider for Google Spreadsheets hides the complexity of accessing data and provides additional powerful security features, smart caching, batching, socket management, and more.
Working with DataAdapters, DataSets, DataTables, etc.
The Google Sheets Data Provider has the same ADO.NET architecture as the native .NET data providers for SQL Server and OLEDB, including: GoogleSheetsConnection, GoogleSheetsCommand, GoogleSheetsDataAdapter, GoogleSheetsDataReader, GoogleSheetsDataSource, GoogleSheetsParameter, etc. Because of this you can now access Google Sheets data in an easy, familiar way.
For example:
using (GoogleSheetsConnection conn = new GoogleSheetsConnection("...")) {
string select = "SELECT * FROM GoogleSpreadsheet";
GoogleSheetsCommand cmd = new GoogleSheetsCommand(select, conn);
GoogleSheetsDataAdapter adapter = new GoogleSheetsDataAdapter(cmd);
using (adapter) {
DataTable table = new DataTable();
adapter.Fill(table);
...
}
}
More Than Read-Only: Full Update/CRUD Support
Google Sheets Data Provider goes beyond read-only functionality to deliver full support for Create, Read, Update, and Delete operations (CRUD). Your end-users can interact with the data presented by the Google Sheets Data Provider as easily as interacting with a database table.
using (GoogleSheetsConnection connection = new GoogleSheetsConnection(connectionString)) {
GoogleSheetsDataAdapter dataAdapter = new GoogleSheetsDataAdapter(
"SELECT Id, Where FROM GoogleSpreadsheet", connection);
dataAdapter.UpdateCommand = new GoogleSheetsCommand(
"UPDATE GoogleSpreadsheet SET Where = @Where " +
"WHERE Id = @ID", connection);
dataAdapter.UpdateCommand.Parameters.AddWithValue("@Where", "Where");
dataAdapter.UpdateCommand.Parameters.AddWithValue("@Id", "80000173-1387137645");
DataTable GoogleSpreadsheetTable = new DataTable();
dataAdapter.Fill(GoogleSpreadsheetTable);
DataRow firstrow = GoogleSpreadsheetTable.Rows[0];
firstrow["Where"] = "New Location";
dataAdapter.Update(GoogleSpreadsheetTable);
}
ADO.NET Provider Performance
With traditional approaches to remote access, performance bottlenecks can spell disaster for applications. Regardless if an application is created for internal use, a commercial project, web, or mobile application, slow performance can rapidly lead to project failure. Accessing data from any remote source has the potential to create these problems. Common issues include:
- Network Connections - Slow network connections and latency issues are common in mobile applications.
- Service Delays - Delays due to service interruptions, resulting in server hardware or software updates.
- Large Data - Intentional or unintentional requests for large amounts of data.
- Disconnects - Complete loss of network connectivity.
The CData ADO.NET Provider for Google Spreadsheets solves these issues by supporting powerful smart caching technology that can greatly improve the performance and dramatically reduce application bottlenecks.
Smart Caching
Smart caching is a configurable option that works by storing queried data into a local database. Enabling smart caching creates a persistent local cache database that contains a replica of data retrieved from the remote source. The cache database is small, lightweight, blazing-fast, and it can be shared by multiple connections as persistent storage.
Caching with our ADO.NET Providers is highly configurable, including options for:
- Auto Cache - Maintain an automatic local cache of data on all requests. The provider will automatically load data into the cache database each time you execute a SELECT query. Each row returned by the query will be inserted or updated as necessary into the corresponding table in the cache database.
- Explicit Cache - Cache only on demand. Developers decide exactly what data gets stored in the cache and when it is updated. Explicit caching provides full control over the cache contents by using explicit execution of CACHE statements.
- No Cache - All requests access only live data and no local cache file is created.
This powerful caching functionality increases application performance and allows applications to disconnect and continue limited functioning without writing code for additional local storage and/or data serialization/deserialization.
More information about ADO.NET Provider caching and best caching practices is available in the included help files.
Visual Studio Integration & Server Explorer
Working with the new Google Sheets ADO.NET Provider is easy. As a fully-managed .NET Data Provider, the Google Sheets Data Provider integrates seamlessly with the Visual Studio development environment as well as any .NET application.
As an ADO.NET Data Provider, Google Sheets ADO.NET Provider can be used to access and explore Google Sheets data directly from the Visual Studio Server Explorer.
It's easy. As a standard ADO.NET adapter, developers can connect the Server Explorer to Google Sheets ADO.NET Provider just like connecting to any standard database.
- Add a new Data Connection from the Server Explorer and select the Google Sheets Data Source
- Configure the basic connection properties to access your Google Sheets account data.
Explore all of the data available! Google Sheets ADO.NET Provider makes it easy to access live Google Sheets data from Visual Studio.
Developer Integration: Databind to Google Sheets
Connecting Web, Desktop, and Mobile .NET applications with Google Sheets is just like working with SQL Server. It is even possible to integrate Google Sheets ADO.NET Provider into applications without writing code.
Developers are free to access the Google Sheets ADO.NET Provider in whatever way they like best. Either visually through the Visual Studio Winforms or Webforms designers, or directly through code.
- Developers can connect the Google Sheets Data Source directly to form components by configuring the object's smart
tags.
- Add a new Data Connection from the Server Explorer and select the Google Sheets Data Source. Then, select the
feed, view, or services you would like to connect the object to.
Done! It's just like connecting to SQL Server.
Popular ADO Videos:
