Replicate Multiple Excel Online Accounts

Ready to get started?

Learn more or sign up for a free trial:

CData Sync



Replicate multiple Excel Online accounts to one or many databases.

CData Sync for Excel Online is a stand-alone application that provides solutions for a variety of replication scenarios such as replicating sandbox and production instances into your database. Both Sync for Windows and Sync for Java include a command-line interface (CLI) that makes it easy to manage multiple Excel Online connections. In this article we show how to use the CLI to replicate multiple Excel Online accounts.

Configure Excel Online Connections

You can save connection and email notification settings in an XML configuration file. To replicate multiple Excel Online accounts, use multiple configuration files. Below is an example configuration to replicate Excel Online to SQLite:

Windows

<?xml version="1.0" encoding="UTF-8" ?> <CDataSync> <DatabaseType>SQLite</DatabaseType> <DatabaseProvider>System.Data.SQLite</DatabaseProvider> <ConnectionString></ConnectionString> <ReplicateAll>False</ReplicateAll> <NotificationUserName></NotificationUserName> <DatabaseConnectionString>Data Source=C:\my.db</DatabaseConnectionString> <TaskSchedulerStartTime>09:51</TaskSchedulerStartTime> <TaskSchedulerInterval>Never</TaskSchedulerInterval> </CDataSync>

Java

<?xml version="1.0" encoding="UTF-8" ?> <CDataSync> <DatabaseType>SQLite</DatabaseType> <DatabaseProvider>org.sqlite.JDBC</DatabaseProvider> <ConnectionString></ConnectionString> <ReplicateAll>False</ReplicateAll> <NotificationUserName></NotificationUserName> <DatabaseConnectionString>Data Source=C:\my.db</DatabaseConnectionString> </CDataSync>

You can connect to a workbook by providing authentication to Excel Online and then setting the following properties:

  • Workbook: Set this to the name or Id of the workbook.

    If you want to view a list of information about the available workbooks, execute a query to the Workbooks view after you authenticate.

  • UseSandbox: Set this to true if you are connecting to a workbook in a sandbox account. Otherwise, leave this blank to connect to a production account.

You use the OAuth authentication standard to authenticate to Excel Online. See the Getting Started section in the help documentation for a guide. Getting Started also guides you through executing SQL to worksheets and ranges.

Configure Queries for Each Excel Online Instance

Sync enables you to control replication with standard SQL. The REPLICATE statement is a high-level command that caches and maintains a table in your database. You can define any SELECT query supported by the Excel Online API. The statement below caches and incrementally updates a table of Excel Online data:

REPLICATE Test_xlsx_Sheet1;

You can specify a file containing the replication queries you want to use to update a particular database. Separate replication statements with semicolons. The following options are useful if you are replicating multiple Excel Online accounts into the same database:

You can use a different table prefix in the REPLICATE SELECT statement:

REPLICATE PROD_Test_xlsx_Sheet1 SELECT * FROM Test_xlsx_Sheet1

Alternatively, you can use a different schema:

REPLICATE PROD.Test_xlsx_Sheet1 SELECT * FROM Test_xlsx_Sheet1

Run Sync

After you have configured the connection strings and replication queries, you can run Sync with the following command-line options:

Windows

ExcelOnlineSync.exe -g MyProductionExcelOnlineConfig.xml -f MyProductionExcelOnlineSync.sql

Java

java -Xbootclasspath/p:c:\sqlitejdbc.jar -jar ExcelOnlineSync.jar -g MyProductionExcelOnlineConfig.xml -f MyProductionExcelOnlineSync.sql