Excel Spreadsheet Automation with the QUERY Formula

Ready to get started?

Download for a free trial:

Download Now

Learn more:

Excel Add-In for Elasticsearch

The Elasticsearch Excel Add-In is a powerful tool that allows you to connect with live Elasticsearch document databases, directly from Microsoft Excel.

Use Excel to access Elasticsearch. Perfect for mass exports, Excel-based data analysis, and more!



Pull data, automate spreadsheets, and more with the QUERY formula.

The CData Excel Add-In for Elasticsearch provides formulas that can edit, save, and delete Elasticsearch data. The following three steps show how you can automate the following task: Search Elasticsearch data for a user-specified value and then organize the results into an Excel spreadsheet.

The syntax of the CDATAQUERY formula is the following: =CDATAQUERY(Query, [Connection], [Parameters], [ResultLocation]);

This formula requires three inputs:

  • Query: The declaration of the Elasticsearch data records you want to retrieve or the modifications to be made, written in standard SQL.
  • Connection: Either the connection name, such as ElasticsearchConnection1, or a connection string. The connection string consists of the required properties for connecting to Elasticsearch data, separated by semicolons.

    Set the Server and Port connection properties to connect. To authenticate, set the User and Password properties, PKI (public key infrastructure) properties, or both. To use PKI, set the SSLClientCert, SSLClientCertType, SSLClientCertSubject, and SSLClientCertPassword properties.

    The data provider uses X-Pack Security for TLS/SSL and authentication. To connect over TLS/SSL, prefix the Server value with 'https://'. Note: TLS/SSL and client authentication must be enabled on X-Pack to use PKI.

    Once the data provider is connected, X-Pack will then perform user authentication and grant role permissions based on the realms you have configured.

  • ResultLocation: The cell that the output of results should start from.

Pass Spreadsheet Cells as Inputs to the Query

The procedure below results in a spreadsheet that organizes all the formula inputs in the first column.

  1. Define cells for the formula inputs. In addition to the connection inputs, add another input to define a criterion for a filter to be used to search Elasticsearch data, such as ShipCity.
  2. In another cell, write the formula, referencing the cell values from the user input cells defined above. Single quotes are used to enclose values such as addresses that may contain spaces.
  3. =CDATAQUERY("SELECT * FROM Orders WHERE ShipCity = '"&B5&"'","Server="&B1&";Port="&B2&";User="&B3&";Password="&B4&";Provider=Elasticsearch",B6)
  4. Change the filter to change the data.