SaveToDB Edition Comparison
Special offer: 50% discount ($1440) for ODataDB Enterprise until May 31, 2024

SaveToDB Edition Comparison

Getting data
Loading data from database tables, views, and stored procedures
Loading data from web data sources (XML, JSON, CSV, HTML)
Loading data from XML, JSON, CSV, HTML, and plain text files
Loading data from Excel workbooks9+
Loading data from CSV files9+
Loading data from DBF files9+
Saving data
Saving data from Excel to server databasesx
Saving data from Excel to SQLite and SQL Server Compact
Saving data from Excel to OData web services, including ODataDBx
Saving data from Excel to REST API web services, including DBGate10+x
Saving data to databases and services using cell change handlersxx
Saving data to databases and services using VBAx
Saving data to CSV, HTML, and SQL INSERT
Advanced UI features with no coding
The Reports tab to create interactive reports9+
The ribbon Query List to switch queries
Ribbon controls to change query parameters and WHERE fields
User's table views to apply saved views in one click
Encrypting Excel connection string passwords
Keeping formulas on data refresh8+
Keeping comments on data refresh10+
Opening the last opened workbook at startup
Interactive cells to change Excel AutoFilters
Table cursors and interactive fields to view and edit data
Pivot tables as data editors
Task panes to show images
Task panes to edit cell contents
Task panes to select validation list values
Task panes to view and edit row values8+
Double-click calendars to input dates
Context menus to create Outlook tasks, appointments, and emails
SaveToDB Wizards
Database Connection Wizard
Web Data Connection Wizard
Text File Connection Wizard
Pivot Table Connection Wizard
DB RTD Connection Wizard8+
Data Publishing Wizard
Data Merge Wizard
Connection Change Wizard
Table Format Wizard
Developer Tools
Application Installer
Application Workbooks
Features customizable by developers
Saving changes to target tables and viewsx
Saving changes using stored procedures or SQL codesx
Saving changes using REST API10+x
Saving changes using server-side cell change handlersxx
Saving Excel formulas in a database8+x
Saving Excel comments in a database10+x
Saving bulk changes using procedures with JSON parameters8+x
Dynamic JSON forms10+
Data translation
Dynamic column headers for multi-tenant applications8+xxx
Dynamic Excel validation lists
Dynamic parameter value lists
Configuring list dependencies10+
Converting loaded text values to formulas
Converting loaded text values to hyperlinks9+
Saving and loading Excel table formats
Customizable ribbon action menus
Customizable Excel context menus including drill-down queries
Showing table data, HTML, XML, and images in context task panes
Showing table descriptions in context task panes10+
Generating application workbooks from a database
Using the add-in as a VBA library
Supported database platforms
SQL Server, Oracle Database, DB2, MySQL, PostgreSQL, and NuoDB
SQLite and SQL Server Compact
Supported HTTP authentication schemes
Basic, Windows, Forms
OAuth1, OAuth210+
Supported operating systems
Windows 7/8/10/11
Windows Vista7/8
Windows XP7
Supported .NET Framework versions
.NET Framework 4.7.2
.NET Framework 4.5.27/8
.NET Framework 4 Client Profile7
Commercial usex

Starting SaveToDB 10, the SaveToDB Personal edition is available via the upgrade warranty and unavailable for new purchases.

Here is a sample of the cell change handler available in the SaveToDB Personal and Enterpise editions only:

CREATE PROCEDURE [xls17].[usp_sales_change]
    @column_name nvarchar(255) = NULL
    , @cell_value nvarchar(255) = NULL
    , @cell_number_value int = NULL
    , @id int = NULL


IF @column_name = 'licensee'
    UPDATE dbo17.sales SET licensee = @cell_value WHERE id = @id

IF @column_name = 'product_id'
    UPDATE dbo17.sales SET product_id = @cell_number_value WHERE id = @id


The SaveToDB add-in calls such handlers on every cell change.

The change handlers can use the predefined parameters like @column_name, @cell_value, or @cell_number_value, and column values using parameters with the same name, like @id.

The change handlers can update underlying tables or raise exceptions to prevent cell changes.