VOOZH about

URL: https://www.cdata.com/kb/tech/excel-ado-linqtoef.rst

⇱ LINQ to Excel Data


LINQ to Excel Data

👁 Jerod Johnson
Jerod Johnson
Director, Technology Evangelism
LINQ offers versatile querying capabilities within the .NET Framework (v3.0+), offering a straightforward method for programmatic data access through CData ADO.NET Data Providers. In this article, we demonstrate the use of LINQ to retrieve information from the Excel Data Provider.

This article illustrates using LINQ to access tables within the Excel via the CData ADO.NET Data Provider for Excel. To achieve this, we will use LINQ to Entity Framework, which facilitates the generation of connections and can be seamlessly employed with any CData ADO.NET Data Providers to access data through LINQ.

See the help documentation for a guide to setting up an EF 6 project to use the provider.

  1. In a new project in Visual Studio, right-click on the project and choose to add a new item. Add an ADO.NET Entity Data Model.
  2. Choose EF Designer from Database and click Next.
  3. Add a new Data Connection, and change your data source type to "CData Excel Data Source".
  4. Enter your data source connection information.

    Connecting to Local or Cloud-Stored (Box, Google Drive, Amazon S3, SharePoint) Excel Files

    CData Drivers let you work with Excel files stored locally and stored in cloud storage services like Box, Amazon S3, Google Drive, or SharePoint, right where they are.

    Setting connection properties for local files

    Set the URI property to local folder path.

    Setting connection properties for files stored in Amazon S3

    To connect to Excel file(s) within Amazon S3, set the URI property to the URI of the Bucket and Folder where the intended Excel files exist. In addition, at least set these properties:

    • AWSAccessKey: AWS Access Key (username)
    • AWSSecretKey: AWS Secret Key

    Setting connection properties for files stored in Box

    To connect to Excel file(s) within Box, set the URI property to the URI of the folder that includes the intended Excel file(s). Use the OAuth authentication method to connect to Box.

    Dropbox

    To connect to Excel file(s) within Dropbox, set the URI proprerty to the URI of the folder that includes the intended Excel file(s). Use the OAuth authentication method to connect to Dropbox. Either User Account or Service Account can be used to authenticate.

    SharePoint Online (SOAP)

    To connect to Excel file(s) within SharePoint with SOAP Schema, set the URI proprerty to the URI of the document library that includes the intended Excel file. Set User, Password, and StorageBaseURL.

    SharePoint Online REST

    To connect to Excel file(s) within SharePoint with REST Schema, set the URI proprerty to the URI of the document library that includes the intended Excel file. StorageBaseURL is optional. If not set, the driver will use the root drive. OAuth is used to authenticate.

    Google Drive

    To connect to Excel file(s) within Google Drive, set the URI property to the URI of the folder that includes the intended Excel file(s). Use the OAuth authentication method to connect and set InitiateOAuth to GETANDREFRESH.

    Below is a typical connection string:

    URI='C:/MyExcelWorkbooks/SampleWorkbook.xlsx';
  5. 👁 Required connection properties for the data source. (QuickBooks is shown.)
  6. If saving your entity connection to App.Config, set an entity name. In this example we are setting ExcelEntities as our entity connection in App.Config.
  7. Enter a model name and select any tables or views you would like to include in the model.
👁 The available tables in the underlying data source. (QuickBooks is shown.)

Using the entity you created, you can now perform select , update, delete, and insert commands. For example:

ExcelEntities context = new ExcelEntities();

var sheetQuery = from sheet in context.Sheet
 select sheet;

foreach (var result in sheetQuery) {
 Console.WriteLine("{0} {1} ", result.Id, result.Name);
}

See "LINQ and Entity Framework" chapter in the help documentation for example queries of the supported LINQ.

Ready to get started?

Download a free trial of the Excel Data Provider to get started:

 Download Now

Learn more:

👁 Microsoft Excel Icon
Excel ADO.NET Provider

Easily connect .NET applications with real-time data from Excel spreadsheets. Use Excel to manage the data that powers your applications.