SaveToDB 8

SaveToDB 8

Getting Started

The SaveToDB add-in for Microsoft Excel has three major use cases:

  • Personal tool for working with databases
  • Application platform customized with SQL
  • Data layer library for VBA projects

You may use the add-in personally. Just connect to databases, edit data, and save changes.

Microsoft Excel as a client application has great benefits against Web, WinForms, and WPF applications.

The SaveToDB add-in allows creating complete feature-rich multi-user applications using database views and procedures.

VBA developers may use the SaveToDB add-in as a data layer for multiple database platforms and web data sources.

Below are the main ideas for you:

Main ideas for using SaveToDB add-in for Microsoft Excel

You may start learning about SaveToDB on the following topics:

Change History

Version 8.15, November 7, 2018

New features:

  • The Start, All Programs, SaveToDB folder includes the Installation Diagnostic Tool, DiagTool.exe.
    The tool allows diagnosing and fixing installation issues.
  • The add-in saves and restores formulas added by users when refreshing data.
    It is useful, for example, in budgeting applications.
    The option is enabled by default. Users may disable it using the Options dialog box.
    Also, developers may disable it for any database object using the new DoNotKeepFormulas handler with the NULL value in the COLUMN_NAME column.
    Disable it, if users add formulas referenced to rows below or above while the row structure is not stable.
  • New event handlers: KeepFormulas and DoNotKeepFormulas.
    The KeepFormulas handlers define the column in the COLUMN_NAME field used to save and restore formulas during refreshing data.
    So, other users get updated formulas after reload too.
    For example, finance managers can see formulas used to calculate budget values in budget requests.
    The DoNotKeepFormulas handler allows disabling saving formulas for the entire table or only for the column specified in the COLUMN_NAME field.
    Disable columns, for example, to always have actual values in Excel.
  • Edit procedures may use new context parameters:
    @JsonColumns or @json_columns - an array of Excel table column names;
    @JsonValues or @json_values - an array of Excel table row values;
    @EditAction or @edit_action - an operation type: INSERT, UPDATE, DELETE, or MERGE;
    These parameters with the @TableName or @table_name parameter allow creating generic INSERT, UPDATE, DELETE and MERGE procedures.
  • Edit procedures may use new context parameters:
    @ChangedRowCount or @changed_row_count - a number of changed rows in the transaction;
    @ChangedRowIndex or @changed_row_index - a row index in the transaction.
    These parameters allow identifying the first and last operations to execute initial and final actions in the transaction.
  • New event handler types for the Action menu at the ribbon and in the context menu:
    ShowSheets - shows worksheets specified in the HANDLER_CODE field;
    HideSheets - hides worksheets specified in the HANDLER_CODE field;
    SelectSheet - selects the worksheet specified in the TARGET_WORKSHEET field.
    ShowSheets and HideSheets also can specify the target sheet to select in the TARGET_WORKSHEET field.
    You may specify sheets using the sheet names or using the database object names.
    For example, you may add two actions to the ribbon Actions menu: Show Configuration Sheets and Hide Configuration Sheets.
    And use the following values in the HANDLER_CODE field: xls.objects, xls.handlers, xls.workbooks, xls.translations.
  • The xls.handlers table can contain a NULL value in the HANDLER_CODE field for objects with the CODE type if the xls.objects table contains the definition of such objects.
    For example, xls.objects may contain the xl_parameter_values_start_date object of the CODE type with the defined SQL code.
    So, the xls.handlers table can contain ParameterValues handlers with the xl_parameter_values_start_date name in HANDLER_NAME and empty HANDLER_CODE field.
    To hide such objects of the xls.objects table in the query list, use the xl_ name prefix.
    Note that previous versions will show such objects in the query lists.
  • The connection wizards save successful connection strings in the cache file and suggest such connections next time.
    Before this, the wizards used connections of the active workbook only.
    The cache file is encrypted. It is located at
    This file cannot be read by other users or by the same user on another machine.
    You may open and edit cached connections using the Open Connection Cache button at the Developer tab in the Options dialog box.
  • The Reload menu contains a new Show SQL button.
    This is a quick way to get the query CommandText value.
  • The Open URL context menu allows selecting worksheets and ranges within the workbook.
    Use regular Excel links in table cells, like <Sheet name>!<Cell address>.
    You may omit the cell address leaving the sheet and exclamation mark only.
    This feature allows creating interactive workbook indexes using database tables.
  • VBA and .NET applications can call the Application Workbooks wizard using the function:
    Function MakeWorkbook(ConnectionString As String, WorkbookName As String, Template As String) As Boolean
    A database must contain the workbook definition in the xls.workbooks table with the specified workbook name.
    The template parameter can contain a path or URL of the workbook template.


  • SaveToDB Frameworks 8.15 and 9.1 include new handler types and the updated xls.queries view.
    Note that SaveToDB Framework 9 contains a lot of time-saving tools for developers and you may use it with SaveToDB 8.
  • The add-in supports more data types that can be used with the SELECT * statement with no additional casting.
  • The add-in casts Microsoft SQL Server date and time types in the same way independently on a used provider or driver:
    DateTime and DateTime2(0) are of Excel date types;
    Time(0) is of Excel time type (with date 0);
    DateTime2(n), Time(n) and DateTimeOffset2 are always strings.
    The add-in can save up to 7 fractional second digits.
  • The add-in casts binary(16) and char(36) to the GUID (uniqueidentifier) type.
    You may use these types, for example, with MySQL and SQLite that have no built-in GUID type.
    If a GUID field is a primary key, then the add-in generates GUID values for new rows automatically.
    The add-in does not generate values for Microsoft SQL Server if the field has the default value, for example, newid().
    The add-in counts such fields as IDENTITY.
  • The add-in supports the HHH:mm:ss MySQL time format.
  • The add-in supports the geography and geometry Microsoft SQL Server data types including saving changes.
  • The add-in includes SQLite 3.24.0.
    The new version supports UPSERT commands.
  • The INSERT_OBJECT, UPDATE_OBJECT, and DELETE_OBJECT fields of the xls.objects table can contain SQL codes that execute stored procedures with the specified parameters.
    The add-in supports CALL, EXEC and EXECUTE commands.
  • The ContextMenu and SelectionChange handlers have improved behavior for related queries.
    If the TARGET_WORKSHEET field contains the _NEW value, the add-in asks an insert address and only once. It does not create a new sheet every time.
    So, using the _NEW value is the best option to create related queries on other sheets.
    The add-in unhides hidden sheets if required.
    Developers may define several SelectionChange handlers for a single object.
  • The DoNotSave handler with an empty COLUMN_NAME field disables merge operations also.
  • Default format and validation rules improved.
    The add-in does not add validation rules for fields with ValidationList or SelectionList handlers.
    The add-in does not add date formats and validation rules for date and time data types with fractional seconds like datetime2(3) or time(3).
    The add-in does not add date formats and validation rules for data types with time zones like datetimeoffset.
    The Options dialog box allows disabling conditional formatting for NOT NULL columns.
  • The xls.objects table can contain the HIDDEN TABLE_TYPE for any object including tables.
    The default query list and the xls.queries query list view exclude such objects.
  • The add-in suppresses the sort warning message of Microsoft Excel.
  • The HTML form allows opening HTTP, HTTPs, and mailto hyperlinks.
    The form saves and restores the size and position.
    The form disables the context menu and navigating and refresh shortcut keys.
  • The Check SQL and Check Merge SQL forms have improved behavior.
  • The Application Workbooks wizard allows creating tables (ListObject) with the specified names and hidden worksheets.
    The Workbook Information dialog box shows workbook definitions including these options.
    The previous SaveToDB versions will ignore these options.
  • The add-in recognizes column names used to create Microsoft Outlook task, appointments, and emails in MySQL style:
    all_day_event, busy_status, due_date, end, end_time, reminder_set, required_attendees, sent_on_behalf_of_name, start, start_date, start_time.
  • The Workbook Information dialog box includes the new Settings tab that shows regional settings.
    Please send this information to us to resolve issues with converting date values.
  • The add-in converts bit values to 1 and 0 also for stored procedures and SQL codes of Microsoft SQL Server.
    You may disable this option in SaveToDB options.

Bug Fixes:

  • Fixed bug with empty values of nvarchar(max), varchar(max), and XML columns loaded through SQL Server ODBC Driver 11/13/17.
    This is a bug of Microsoft Excel (2007/2010/2013/2016).
    The add-in casts such columns to Рє ntext during the connection: CAST([<field>] AS ntext) AS [<field>]
  • Fixed bug with detecting database objects and fields in SELECT queries with the following functions:
    Below is a set of well-known cast functions:
    SELECT 1.0000000*TIME_TO_SEC(`time`)/86400 AS `time`
    SELECT CAST([id] AS VARCHAR(255)) AS [id]
    SELECT CONVERT(CHAR(18), CONVERT(BINARY(8), [rowversion]), 1) AS [rowversion]
  • Fixed bug with converting validation list values in merge operations.
  • Fixed bug with unstable freezing windows on restoring table formats.

Version 8.14, September 25, 2018

New features:

  • Support for Snowflake
  • SaveToDB Framework 8.14 for Snowflake
  • SaveToDB Examples for Snowflake
  • INFORMATION_SCHEMA query lists for Microsoft SQL Server, SQL Azure Data Warehouse, SQL Server Compact, MySQL, PostgreSQL, and Snowflake


  • Editable views and stored procedures based on tables with identity fields without primary keys.

Bug Fixes:

  • Fixed issues with saving changes from views in Oracle Database and DB2.
  • Fixed connecting issues with PostgreSQL 8 and Amazon Redshift.
  • Fixed issues with the SaveByMergeDirect and GetSaveByMergeDirectSQL VBA methods.

Version 8.13, September 17, 2018

Bug Fixes:

  • Fixed conversion of SQL Server date type values to dates on filtered ranges.
  • Fixed issues with the SaveByMergeDirect and GetSaveByMergeDirectSQL VBA methods.

Version 8.12, September 12, 2018

Bug Fixes:

  • Fixed bug of creating dynamic validation lists instead of regular validation lists.
    To reproduce the bug, specify 'id, code' in the HANDLER_CODE for the validated table that also contains the code field.
    If you find such errors in the future, use the id and name aliases like 'id AS id, code AS name'.
    The add-in does create dynamic validation lists for this pair of names.
  • Fixed NullReference exception on reloading data.

Version 8.11, September 10, 2018

Important notes:

Breaking changes:

  • SaveToDB 8.11 discontinued support of the configurations for query lists, event handlers, and parameter values in the SaveToDB 2.x - 4.x format.
    These old formats do not contain fields like TABLE_CODE, HANDLER_CODE, and SELECT_CODE.
    To migrate your applications from these frameworks, install SaveToDB Framework 9.0 and copy the configuration using the configuration workbooks.
    The SaveToDB add-in of the old versions cannot read the configuration from SaveToDB Framework 8 and 9.
    So, you may migrate your applications to SaveToDB 8 without breaking changes.

New features:

  • SaveToDB Framework 9.0 for Microsoft SQL Server.
    The new framework should save a lot of time for developers.
    SaveToDB 8 supports all features. Therefore, we recommend updating SaveToDB Framework 8 to a newer version.
    You can install and upgrade the framework using the Application Installer wizard.
  • Support for Azure SQL Data Warehouse.
  • SaveToDB Framework 8.11 for Azure SQL Data Warehouse.
  • Database Help Framework 1.0 for Microsoft SQL Server.
    The framework allows documenting databases in Microsoft Excel, storing the documentation in a database, and generating the documentation in HTML.
    Documentation example:
    Install the framework using the Application Installer wizard.
    To edit the documentation, generate a workbook using the Application Workbooks wizard.
  • The add-in completely supports object and field names with special characters: .,;:'"`~+-*\/|<>[](){}=@%!?&#$
    To get field values in procedure parameters and SQL code, as well as named cells, use code insertions in the _xHHHH_ format, where HHHH is the hexadecimal character code.
    For example, to get the values of the ['] field, use the parameter like @_x0027_.
    You may use the xls.get_escaped_parameter_name function of the SaveToDB Framework 9.0 to get the escaped parameter names.
    You may use the xls.get_unescaped_parameter_name function to reverse the parameters into the field names.
  • The add-in completely supports tables with headers turned off.
    Note, if you create forms with such headers, update all SaveToDB installations to SaveToDB 8.11.
  • The add-in shows returned database server messages for event handlers.
    For example, it shows messages of the PRINT commands for Microsoft SQL Server.
    This option is especially useful for handlers with the _reload option.

New SaveToDB Framework 9.0 features:

  • The xls.xl_actions_generate_procedures procedure allows generating ready-to-use objects:
    - SELECT views and procedures, from tables and views;
    - procedures for INSERT, UPDATE, and DELETE operations;
    - Change event handler procedures.
  • The xls.xl_actions_generate_handlers procedure allows generating template procedures of event handlers:
    - Actions;
    - ContextMenu;
    - DoubleClick;
    - SelectionChange;
    - ParameterValues.
  • The Actions menu includes menu items for generating objects described above.
    To disable this feature, set the DENY SELECT permission on the xls.view_developer_handlers view.
    The xls.xl_actions_generate_constraints procedure allows generating primary, unique, and foreign keys.
    Use the xls.view_primary_keys, xls.view_unique_keys, and xls.view_foreign_keys views to check and generate keys using the context menu.
  • The xls.usp_translations procedure allows translating object names, fields, and parameters.
  • The xls.view_all_translations view allows translating names into several languages at once.
  • The xls.usp_role_members procedure allows managing user roles.
  • The xls.xl_export_settings and related import procedures allow exporting and importing settings.
  • The xls_formats role includes the permission to save table formats into the xls.formats table.
    To add or remove users from a role, use a form based on the xls.usp_role_members procedure.
  • The xls.xl_actions_set_role_permissions procedure sets permissions for the framework roles.
  • The Application Workbooks wizard includes the new SaveToDB Framework 9 configuration workbook.
  • The Actions menu includes updated links to the SaveToDB add-in documentation and SaveToDB Framework objects:


  • Updated SaveToDB Framework 8.11.
    You may update the framework using Application Installer.
  • The add-in calls the INSERT procedures even for empty rows with the changed @rownum parameter value.
    This guarantees that your app gets the list of all rows with changed numbers.
  • The Application Workbooks wizard displays workbooks sorted by name.
  • The Application Workbooks wizard creates workbooks with the language specified in the WorkbookLanguage parameter.
    The Workbook Information dialog box shows the definition including the language specified in the workbook.
  • Improved support for ODBC driver errors.
  • The add-in restores worksheet tab colors when restoring the table formats.
  • The add-in shows the DATABASE tab in Excel 2013.
  • The event handlers of the VALUES and RANGE type may have no names in the HANDLER_SCHEMA and HANDLER_NAME fields.
  • The add-in inherits SQL code parameter datatypes and settings from the executed procedures.
    This allows checking the types of entered values and getting value lists using the settings of the procedure parameters.
  • The add-in detects the best table to save table formats.
    So, you may have several tables like xls.formats in different schemas.
  • You may use the DoNotSave handlers to disable saving values of formula fields in the reload phase.
    Otherwise, the add-in saves the values of the formula columns to check for row changes before saving.

Bug Fixes:

  • Fixed bug on inserting tables with RC address style.
  • Fixed bug of loading values started with a single quotation mark.
  • Fixed bug with the date conversion in validation lists.
  • Fixed bug with the Data Merge Wizard.
  • Fixed bug with the Publish Wizard.
  • Fixed bug with selection of the entire tables when updating all the workbook tables.
  • Fixed bug of ignoring the change events in text cells started with the equal sign.
    Note, the add-in does not process change events in the column formulas.
    However, the add-in processes cell changes if the table contains only one row.
  • Fixed bug of loading of handlers for handler procedures with the _TaskPane output.
  • Fixed bug of replacing bit values on the filtered ranges.
  • Fixed bug of creating multiple tables of the dynamic validation lists.
  • Fixed bug of reloading all validation lists if any handler has a very long value in the HANDLER_CODE field with the VALUE handler type.
  • Fixed bug of loading translations from views in some cases.
  • Fixed bug of adding UTF8 BOM into saved merge files.
  • Fixed bug of ignoring DoNotChange handlers if the table has no Change handlers.
  • Fixed bug of ignoring table changes made with form fields.

Version 8.10, July 25, 2018

New features:

  • The monthly subscription is available.
  • The product tries to activate a new subscription in a period three days before and three days after the expiration.
    It sends request automatically every 16 hours. You may disable this feature in the finish step of the registration wizard.
  • The add-in shows the progress form for long time operations.
    A user can cancel such operations.
  • The Options dialog box allows specifying a maximum number of generated commands stored in a memory.
    If the result dataset has more lines than specified, then the add-in automatically uses a file.


  • Significantly reduced amount of the required memory for large datasets.
    For example, merging 400k records requires 500MB instead of 6GB.
  • Significantly improved speed of loading large datasets from MySQL and PostgreSQL.
    For example, it loads 400k records four times faster (about 10 seconds).

Bug Fixes:

  • Ignored INSERT_PROCEDURE, UPDATE_PROCEDURE, and DELETE_PROCEDURE procedures in some cases.
  • Fixed bugs with pasting values into the cells calculated by handler formulas.
  • Fixed incorrect behavior of boolean ribbon parameters.

Version 8.9.2, July 13, 2018


  • Developer Guide 8.9 - Dynamic Lists
    You may try it at Wizards, Online Examples, Developer Guides and download its source with the SaveToDB SDK.

Bug Fixes:

  • Fixed issues with dynamic validation lists.

Version 8.9.1, July 11, 2018

Bug Fixes:

  • Fixed empty validation lists.
  • Fixed translation of boolean ribbon values.
  • Fixed linking of editable procedures to objects that select data from a single table.
  • Fixed exception on adding form fields.

Version 8.9, June 22, 2018

The free SaveToDB Express edition is no longer available.

Existing users of the free edition may continue use it.

Version 8.8.3, June 18, 2018

Bug Fixes:

  • Fixed possible issues with two-column validation lists.
  • Fixed issues with validation list handlers of the VALUES type when values are longer than 255 characters.
  • Fixed issues with the "Member not found" exception related to Sort and AutoFilter objects in Excel version 16.0.10228.20021.
  • Fixed error messages on activating chart sheets.
  • Fixed issues on canceling loading protected workbooks.

Version 8.8.2, May 29, 2018


  • Support of GUID parameters on the ribbon and in validation lists
  • Support of custom totals in table formats

Bug Fixes:

  • Fixed possible exceptions on inserting new tables
  • Fixed possible launch of the Insert Formula dialog box on applying formats
  • Fixed possible lost of column translations

Version 8.8.1, May 25, 2018


  • Improved JSON parser
  • Product Registration Wizard uses HTTPs

Bug Fixes:

  • Fixed Null Reference exception in Row Editor
  • Fixed SendFailure error with HTTPs TLS 1.2

Version 8.8, May 24, 2018

New features:

  • SaveToDB Standard Edition
    The add-in has a new SaveToDB Standard edition.
    The edition has the same features as SaveToDB Enterprise except for the support for Change event handlers.
  • Product Activation Wizard
    SaveToDB 8.8 includes a new product activation wizard that meets GDPR requirements.
  • Row Editor Panel
    A new row editor panel allows viewing and editing row data.
    The panel is particularly useful for tables with a large number of columns.
  • Dynamic Validation Lists
    Developers may configure dynamic validation lists using ValidationList handlers.
    For example, a table contains country and state columns, and there is a separate table of countries and states used as a list of values.
    When a user selects a new country in a cell, Excel shows only the states of the selected country in the state cell.
    Dynamic validation lists must contain an additional filter column like id, state, and country_id.
    You may specify such columns for tables and views in the HANDLER_CODE field of the ValidationList event handlers. For example: [id], [state], [country_id]
    The add-in creates dynamic validation lists using named dynamic formulas which you may find in the Excel Name Manager.
    You may try this feature with Wizards, Online Examples, Developer Guides, Developer Guide 8.8 - Dynamic Lists.xlsx.
  • Dependent Validation Lists
    The add-in automatically reloads validation lists that have common parameters with the underlying query.
    For example, a table contains country, state, and other columns.
    If a user selects a new country on the ribbon, the add-in reloads the data table and all validation lists that contains the @country parameter.
    You may specify table and view columns used as parameters in the HANDLER_CODE and SELECT_CODE configuration fields.
    For example: [id], [state], @country
    You may try this feature with Wizards, Online Examples, Developer Guides, Developer Guide 8.8 - Dynamic Lists.xlsx.
  • Context Parameters
    Queries used to populate ribbon parameter values may use context values like other queries, including named cell values.
    For example, you need a ribbon parameter used to choose the order number.
    It is inconvenient if you have a lot of orders.
    To solve this task, you can define named cells on a worksheet like a customer and order_date, and use the @customer and @order_date parameters in the query that populates order numbers.
    Accordingly, a user can select the customer in the cell and get only its orders, or choose the date and get the list of order numbers for the selected date.
    To update such ribbon lists of values, refresh the table.
    Alternatively, you can also use the method available in previous versions: add the @customer and @order_date pseudo-parameters to the base query.
    In this case, the add-in will place them to the ribbon and reload order numbers on every change of the ribbon parameter values.
    You may try this feature with Wizards, Online Examples, Developer Guides, Developer Guide 8.8 - Ribbon Parameters.xlsx.
  • Global Cells
    You may define cell names with the "global_" prefix.
    The add-in applies changes of such cells for query parameters on any worksheet.
    For example, if a cell has the global_order_id name, then the add-in reloads all queries that have the order_id parameter.
    You may try this feature with Wizards, Online Examples, Developer Guides, Developer Guide 8.8 - Ribbon Parameters.xlsx.
  • Many-to-many Relationships
    The add-in has a built-in solution for editing tables with many-to-many relationships.
    For example, an employee_states table contains two columns of foreign keys, employee_id and state_id.
    If a user selects an employee on the ribbon, the add-in lists all states automatically. So, the user can check or uncheck the required states.
    The user also can select a state on the ribbon and clear the selected employee. The add-in will list all employees to edit pairs of the selected state.
    The add-in activates such forms for columns configured with the ManyToMany handler.
    The add-in generates ManyToMany handlers automatically if it can parse underlying object definition.
    You may specify the ManyToMany handlers for any object including views and stored procedures yourself.
    Also, you may disable this behavior by adding the DoNotAddManyToMany handler.
    You may try this feature with Wizards, Online Examples, Developer Guides, Developer Guide 8.8 - Many-to-many.xlsx.
  • Reload Validation Lists Button
    You may use the Reload Validation Lists button instead of the Reload Data and Configuration button to reload validation lists.
    This action works much faster and updates validation lists for all tables in the workbook.
  • Remove Unused Validation Lists Button
    You may use the Remove Unused Validation Lists button to remove unused tables on the hidden SaveToDB_Lists worksheet.
  • Save Table Format and Reload Table Format Buttons
    These new buttons allow saving and reloading active table formats from the database instead of using the Table Format Wizard.
    SaveToDB Framework installed is required.
  • Customize Ribbon Button
    You may use the Customize Ribbon button in the Options menu to hide the add-in ribbon controls.
    You may hide controls by default or for the active workbook only.
    Also, you may disable certain Excel controls for the active workbook.
    Eliminating unnecessary features improves end-user efficiency, the learning curve, and the reliability of applications.
  • Outlook Integration
    The add-in allows creating tasks, appointments, and email messages in Microsoft Outlook.
    The add-in adds the Create Task, Create Appointment, and Create Email context menu items for tables that contain fields required for the action.
    You may use Wizards, Online Examples, Outlook Integration, Outlook Integration Example.xlsm as a template.
    You may download the source code with SaveToDB SDK 8.8.
    This premium feature is available in SaveToDB Personal, Standard, and Enterprise only.
  • VBA Functions
    New VBA functions for adding tasks, appointments and email messages in Outlook:
    AddOutlookAppointments, AddOutlookTasks, AddOutlookEmails, AddOutlookAppointment, AddOutlookEmail, AddOutlookTask.
    You may get examples in Wizards, Online Examples, Outlook Integration, Outlook Integration Example.xlsm.
    New VBA functions to save and reload table formats: SaveTableFormat and ReloadTableFormat.
  • Developer Wizard Menu
    SaveToDB 8.8 has a new Developer Wizard menu which includes useful items from different sections of the add-in.
  • Workbook Distribution
    The Developer Wizard menu includes a new wizard, Prepare Workbook for Distribution.
    The wizard deletes developer' data from the workbook, including passwords and loaded data, while retaining the necessary configuration.
    So, the workbook can be sent, published, or used as a template in the Application Installer wizard.
  • Updated Planning Application 2.0
    You may try updated examples using Wizards, Online Examples, Planning Application.
    You may install the planning application using the Application Installer.
    Planning Application 2.0 requires SaveToDB Framework 8.8.
  • Online Examples
    Wizards, Online Examples include new examples:
    Developer Guides\Developer Guide 8.8 - Dynamic Lists.xlsx
    Developer Guides\Developer Guide 8.8 - Many-to-many.xlsx
    Developer Guides\Developer Guide 8.8 - Ribbon Parameters.xlsx
    Outlook Integration\Outlook Integration Example.xlsm


  • The add-in prevents operations that can cause column updating from a database.
    The simplest way to disconnect a column is to select the entire sheet column including the table column, and press Ctrl-C, Ctrl-V.
    In previous versions, this could lead to database data corruption after saving the incorrect data.
    We recommend updating to 8.8 as soon as possible.
  • The add-in prevents Cut and Paste operations in data tables
    as the cut operation removes formats and validation rules from the cells.
  • SaveToDB Drill-Down renamed to Actions.
  • Significantly improved performance of loading query lists from large databases.
  • SaveToDB Framework 8.8 includes new types of event handlers: ManyToMany and DoNotAddManyToMany.
    You may upgrade the framework using Application Installer.
  • SaveToDB SDK 8.8 includes source codes of SaveToDB Framework 8.8 and new examples.
  • Improved Wizards menu.
  • The add-in updates the pivot table items using validation list items including dates.
    For example, you may place a country field to the ribbon and a state field into pivot table rows.
    If you change the country on the ribbon, the add-in updates the states in the pivot table.
  • If there are several tables on the sheet and the active cell is outside of any table, the Save and Reload buttons act as Save Worksheet Tables and Reload Worksheet Tables.
    In previous versions, the buttons were disabled.
  • The add-in automatically creates validation lists for foreign key tables that contain only one column.
    Previous versions required at least two fields used as an id and a name.
  • The add-in automatically creates a configuration based on the foreign key relations for SQLite like for other DBMSs.
  • The HANDLER_CODE, SELECT_CODE, and TABLE_CODE fields allow using field aliases like [field] AS [alias].
  • The add-in updates dependent data tables after refreshing the main table from the Excel menu.
  • The cell editor is also active for cells with more than 50 characters.
  • Improved table naming on the SaveToDB_Lists worksheet.
    The names include source object and column names.
    This can lead to incompatibility with VBA macros that use specific table names.
    The add-in does not change the names of existing tables.
  • The data connection wizard does not set the print area to a new data table if the worksheet already has the print area outside of the table.
  • The Save menu item becomes enabled when you delete the row number column like _RowNum.
  • The add-in replaces ids with names if a SelectionList handler returns two columns.
  • Improved Hide Advanced Menu Items.

Bug fixes:

  • Restored SQL Server permission management workbook in the Application Workbooks wizard.
  • Fixed bug of stored procedure field translation.
  • Fixed bug with the insertion address in the Data Connection wizard.
  • Fixed bug with creating Excel reports from the REPORT event handlers.
  • Fixed bug in converting SQL Server date values in validation lists.
  • Fixed screen flickering on sheets with the Sheet_Change macros.
  • Fixed updating pivot tables with empty data ranges.
  • Fixed logging if the SaveToDB.dll.config does not contain a log section.
  • Fixed enabled state of menu items related to pivot tables.
  • Fixed bugs related to the table order on the SaveToDB_Lists worksheet.

Version 8.7.6, March 26, 2018


Bug fixes:

  • Fixed compatibility issues with PowerPivot.
  • Fixed issues with deleting named cells.
  • Fixed installation issues.

Version 8.7.5, March 21, 2018


  • Updated SQLite .NET Provider
  • Improved detecting next page links in HTML pages

Bug fixes:

  • Fixed installation issues.
  • Fixed loading configuration with absent event handler tables.
  • Fixed logging.
  • Fixed loading SQLite configuration.
  • Fixed error messages on connecting SQLite databases with passwords.
  • Fixed compatibility issues with PowerPivot.

Version 8.7.3, March 15, 2018


  • Converting dates in the "dd MMM yyyy" format from text and web data sources to dates.

Bug fixes:

  • Fixed lost of the active object selection in the connection wizard.

Version 8.7.2, March 13, 2018

Bug fixes:

  • Fixed bug with a bad "SELECT * FROM" command.

Version 8.7, March 12, 2018

Breaking changes:

  • The add-in uses Excel validation lists to convert id to names.
    The behavior is the same as for ValidationList event handlers configured in a database.
    For example, if you specify a validation list as a table with two columns like ID and NAME, then the add-in replaces ID values to NAME values.
    To prevent converting, use validation lists with one column or specify the DoNotAddValidation handler in the xls.handlers table.
  • The add-in does not add automatic validation lists to tables that have customized validation list handlers.
    This change makes SaveToDB 8 compatible with SaveToDB 7, however, breaks the previous SaveToDB 8 behavior.
    SaveToDB 8 users may add the required handlers. SaveToDB 7 users will have the same behavior on configured objects.
  • The add-in converts IDs to names for columns with SelectionList handlers if the source list has two columns.
    So, now SelectionList and ValidationList handlers have the same features except the add-in does not add Excel validation lists to SelectionList columns.
    To prevent converting of column values, specify SelectionList queries with one column results.

New features:

  • The add-in allows users to create workbooks based on a configuration in a database using the Application Workbooks wizard.
    This is an effective way to distribute and update application workbooks.
  • SaveToDB Framework 8.7.
    The framework includes the xls.workbooks table used to configure the Application Workbooks wizard.
  • The SaveToDB Enterprise edition allows using tables as Change event handlers.
    Use this feature to update an underlying database table from views and stored procedures without any coding.
  • The Application Installer wizard, Application Workbooks wizard, and the SaveToDB SDK include the Cash Flow 81 example that shows using tables as change event handlers.
  • The SaveToDB SDK includes the ETL example that shows using the SaveToDB add-in as a CSV file converter.
    You may configure the example to your needs easily with a minimal VBA knowledge.
  • New VBA function to calculate md5 hash: md5.


  • Significantly improved performance of loading data and configurations on large databases.
    The add-in used delayed analysis of SQL definitions.
  • Significantly improved performance of filtering items in the List Editor task pane.
  • SaveToDB Framework 8.7 and SaveToDB Framework 7.19.
    The frameworks include redesigned upgrade packages.
    The frameworks for Microsoft SQL Server remove users from the framework roles on uninstalling.
    The batch files allow executing from protected folders and read-only media.
  • SaveToDB Framework 7.19 includes codes used to export settings to SaveToDB Framework 8.
  • Updated Cash Flow 80 example.
  • Improved Workbook Information dialog box.
    It saves and restores last user settings.
    Dialog box tables have the same structures as SaveToDB Framework tables.
    So, you may copy configuration settings from the dialog box tables to SaveToDB Framework tables as is.
    The dialog box has the context menu to copy values.
  • Improved Application Installer.
  • Improved detection of objects shown in the Query List.
  • SaveQueryAsCSV and SaveTableAsCSV has a new parameter: QuoteChar.
    You may specify an empty string to remove double quotes from the CSV output.
  • Improved logging of loading and parsing objects.
  • Fields HANDLER_CODE and SELECT_CODE based on tables and views allow using functions.
    For example, a query with YEAR([Date]) selects a unique list of years.

Bug fixes:

  • Fixed bug of incorrect column orders of validation list values from tables.
  • Fixed bug of caching SelectionList handlers.
  • Fixed bug of the Save Query As action for tables without connections.
  • Fixed bug of creating validation lists based on tables with dashes in names.

Version 8.6, February 21, 2018

New features:

  • The new Invoices example shows new SaveToDB 8.6 features.
    You may open the example from the Application Workbooks wizard.
    You may install the example into your database using the Application Installer wizard.
    You may acquire the source code with SaveToDB SDK 8.6.
  • SaveToDB Framework 8.6 includes new event handler types and the updated xls.queries view.
    You may upgrade the framework using the Application Installer wizard.
  • The xls.queries view additionally selects objects of CODE, HTTP, and TEXT types defined in the xls.objects table.
    So, xls.queries and xls.objects are nearly the same as dbo01.viewQueryList and dbo01.QueryList of SaveToDB Framework 7.
    However, the add-in uses the xls.objects configuration for any object.
  • You may specify the HIDDEN type in the xls.objects table to do not show an object in query lists.
  • You may specify an object as the main one using the handler with EVENT_NAME = DefaultListObject.
    The add-in shows ribbon elements for such objects even the worksheet contains several tables and the active cell is outside of any table.
  • Objects may have common behavior on a worksheet.
    For example, both order_header and order_details have the @order_id parameter.
    If a user changes the @order_id for the order_header, the add-in changes it for the order_details also.
    To link objects, specify two opposite event handlers with СЃ EVENT_NAME = SyncParameter and a parameter in the COLUMN_NAME column.
    See usage in the Invoices example.
  • The add-in allows creating PDF documents and Excel report workbooks using the context menu and the Actions menu.
    To use, specify PDF or REPORT in the HANDLER_TYPE column for event handlers of the Actions or ContextMenu types.
    By default, the add-in creates reports for the active sheet. You may define target sheets separated by a comma in the TARGET_WORKSHEET column.
    See usage in the Invoices example.
  • VBA macros may use the following functions to create PDF documents and Excel workbooks:
    CreatePDF, CreateReportWorkbook, CreateReportPage
  • VBA macros may use the following functions to export data to CSV and HTML, or to generate INSERT commands:
    SaveQueryAsCSV, SaveQueryAsHTML, SaveQueryAsInsert
    SaveTableAsCSV, SaveTableAsHTML, SaveTableAsInsert
  • The ribbon parameters shows fixed values (NULL/Yes/No) for parameters of the boolean type.


  • The connection wizard includes new fields for CSV: First Row and Date Format (Auto/DMY/MDY).
  • Improved speed of converting formulas in filtered ranges.
  • The add-in does not translate columns and add comments to validation list on the hidden SaveToDB_Lists worksheet.
    The add-in also does not show such lists in the Reload All Workbook Tables dialog box.
  • The query list shows schemas of CODE, HTTP and TEXT objects as for database objects.
    You may use the translation table to translate names.

Bug fixes:

  • Fixed showing database objects from the cache after reloading configurations.
  • Fixed the ObjectNullReference exception in the Publish Wizard.
  • Fixed sorting event handlers using MENU_ORDER values.
  • Fixed icons in the context menu and the Actions menu.

Version 8.5, February 7, 2018


  • Updated Product Registration Wizard.
  • The UserAgent header contains the default value: SaveToDB.

Bug fixes:

  • Fixed converting text formulas in hidden rows.

Version 8.4, January 31, 2018

New features:

  • New VBA functions: GetWebText and ParseJson.
    GetWebText returns the result of an HTTP GET request (JSON, HTML, XML, CSV, or text).
    ParseJson returns an object that may contain data as Collection, Scripting.Dictionary, or elementary types.
    See the Scripting.Dictionary description here:

Usage example of GetWebText and ParseJson:

Dim com As COMAddIn
Dim addIn As Object
Set com = Application.COMAddIns("SaveToDB")
Set addIn = com.Object

Dim url As String
Dim text As String
Dim json As Object

url = ""

text = addIn.GetWebText(url)

Set json = addIn.ParseJson(text)

MsgBox url + vbNewLine + vbNewLine _
    + "Response:" + vbNewLine _
    + text + vbNewLine + vbNewLine _
    + "Extracted:" + vbNewLine _
    + "symbol: " + json("symbol") + vbNewLine _
    + "bid: " + CStr(json("bidPrice")) + vbNewLine _
    + "ask: " + CStr(json("askPrice"))

Bug fixes:

  • Fixed converting text formulas in hidden rows.
  • Fixed issues with Table Format Wizard in workbooks with pivot tables connected to a database.

Version 8.3, January 15, 2018

New features:

  • Cell change event handlers may return values with the SELECT statement.
    The add-in updates cells with the same column names except when any change handler has the _reload option that refreshes the entire table.
    You may use this feature, for example, to return the actual rowversion values to Excel.
    In this case, the next call of the handler will use the rowversion value returned by the previous call.
  • SaveToDB SDK 8.3 with examples of new features.
  • The add-in links stored procedures with the _change suffix to base objects if the base objects have no change handlers.
    For example, the add-in links dbo.view_test_change to dbo.view_test as a change event handler.
    Use the DoNotAddChangeHandler handler to disable this behavior.
  • Use the DoNotAddValidation handler to disable automatic creating validation lists based on foreign keys.


  • Updated SaveToDB Framework 7.16 for Microsoft SQL Server.
  • The default query list does not show objects used as change handlers and edit procedures.
  • SQL Server and SQL Server Compact objects can use parameters of timestamp and rowversion types.
  • Event handlers can use the _rownum parameter to get row numbers independently on the Excel UI language.
  • The add-in does not apply default formatting to read-only fields.
  • The add-in does not apply default formatting and validation to fields of the datetimeoffset type.

Bug fixes:

  • Fixed possible issues with fields and parameters that contains non-alpha-numeric characters in SQL Server.
  • Fixed possible stability issues with Excel 2013-2016.
  • Fixed possible issues with pivot tables.
  • Fixed issues with loading SQL Server Compact configurations (7.15 only).
  • Fixed issues with inserting a new connected table on another worksheet.
  • Fixed ignoring last column values in table fields.
  • Fixed removing leading zeros in fields of variant types.
  • Fixed exceptions with converting TimeSpan to DateTime in the cell_date_value parameter.
  • Fixed exceptions with converting 0000-00-00 00:00:00 to dates in MySQL if Allow Zero Datetime=False or Convert Zero Datetime=False.
  • Fixed empty descriptions in the Workbook Information dialog box.

Version 8.2, December 18, 2017

Bug fixes:

  • Issues with saving changes for tables with customized SQL codes.

Version 8.1, December 15, 2017

Bug fixes:

  • Issues with objects with SQL codes customized using the Data Connection Wizard.
  • Issues with loading configurations with custom configuration view errors.
  • Issues with loading configurations of MySQL tables with LongText data types.
  • Issues with field values in the Application Installer and Application Workbooks wizards.

Version 8.0, November 27, 2017

Upgrade Notes

  • Previous versions are converted to a new trial version with a 30-day period.
  • Customers, who bought SaveToDB Upgrade Warranty or SaveToDB Subscriptions, may register SaveToDB 8 for free, using the same product codes.
  • SaveToDB 8.0 supports all previous versions of server-side configurations.
    You do not need to change your databases before the upgrade.
    However, you may upgrade SaveToDB Framework 3.x-6.x to the latest SaveToDB Framework 7.2 to get the latest features.
  • SaveToDB 8.0 introduces SaveToDB Framework 8.0.
    You may use the improved SaveToDB Framework 8.0 for new applications.
    SaveToDB 3.x-7.x ignores translations and parameter configurations of the new framework.

Breaking changes:

  • Since SaveToDB 7.15, the add-in does not protect cells with more than 32767 characters.
    Now it generates the simple code like SELECT * FROM <table> for tables with column data types like varchar(max), string, text, or CLOB.
    You may exclude fields with longer values in Excel directly.
  • The SaveToDB tab is shown as Database by default.
    You may turn off the new name using the Options dialog box.
  • Changed .NET platform from .NET Framework 4.0 Client Profile to .NET Framework 4.5.2.
  • Changes in requirements for Windows 7, Windows Server 2008, and Windows Server 2008 R2.
  • Removed support for Windows XP.
  • Removed support for SQL Server 2000.
  • Removed support for MySQL 5.0, 5.1, 5.2.
  • Removed support for MariaDB 5.1, 5.2, 5.3.

New features:

  • The new release is targeted to working with databases with zero configuration.
    The add-in creates configurations for typical tasks itself.
    Developers may change the default settings using configuration tables as it was before.
  • Support of editing tables with foreign keys by default.
    The add-in creates required validation lists and ribbon parameter value lists itself.
  • Support of saving changes of data loaded from views and stored procedures that select data from single tables by default.
    Grant the VIEW DEFINITION permission for views and stored procedures to activate this feature.
    You may disable this feature for the desired objects adding the DoNotSave handler.
  • Support of database schemas in the query list.
    This feature allows reducing the number of required query list configuration views.
    The add-in loads configuration of saving changes from tables or views like xls.objects.
  • SaveToDB Framework 8.0.
    The new framework has a much simpler structure than previous versions due to complete reading of database metadata from a database by the add-in.
    Also, it has the same structure for all supported database platforms including SQL Server, Oracle Database, or MySQL.
    The framework includes four tables: xls.objects, xls.handlers, xls.translations, and xls.formats, the xls.queries view, and two roles: xls_users and xls_developers.
  • Application Installer.
    We have significantly improved SaveToDB Framework Installer and renamed it.
    The wizard allows installing, upgrading, and deleting frameworks and applications.
    Use this wizard to upgrade SaveToDB Framework 3.x-6.x to the latest compatible version 7.2 to get the latest SaveToDB 8 features.
    Use this wizard to install applications. Try, for example, Planning Application for Microsoft SQL Server.
  • Application Installer includes Planning Application.
    You may use the application for free (SaveToDB Enterprise is required).
    Commercial support is available. Please, contact us.
    Download the Planning Application with Microsoft Excel and SQL Server e-book also.
  • Application Installer includes Change Tracking Framework for Microsoft SQL Server.
    Download the Change Tracking Framework for SQL Server e-book also.
  • Application Installer includes the Cash Flow example.
    The example shows SaveToDB 8 features with zero configuration.
    You may test the example on all supported database platforms
  • Application Workbooks.
    We have significantly improved the Configuration Workbook Generator wizard and renamed it.
    You may use the wizard to create configuration workbooks for all versions of SaveToDB Frameworks and built-in applications.
    We plan to extend this wizard to allow creating workbooks using templates from databases.
    Please contact us if you are interested in this feature.
  • Application workbook wizard allows creating a workbook to manage SQL Server Permissions.
    This application is for business users who manage permissions. Try it.
  • New configuration format of saving features used in the xls.objects table of the SaveToDB Framework 8.
  • New configuration format of data translations used in the xls.translations table of the SaveToDB Framework 8.
  • New configuration format of select value queries as a part of the event handler configuration with the ParameterValues event type.
    This allows eliminating a separate table to configure select values queries in SaveToDB Framework 8.
  • The add-in deletes rows marked with 0 in the _State_ column (a new special column).
    This feature is useful for editing tables of many-to-many relations using pivot tables (use the SUM function in a pivot table).
  • The new AddStateColumn type of event handlers that adds and formats the _State_ column to tables.
    As described above, set 0 in the _State_ column to deleted rows.
  • Rewritten OData layer.
    Please test it before going into production.
  • Logging SQL queries.
    You may turn on logging using the Options dialog box.
    This feature is useful for debugging event handlers and profiling query times.

  • The add-in formats worksheets for newly connected tables.
    You may turn off this feature using the Options dialog box.
  • The add-in formats SQL Server bit fields as checkboxes.
    You may turn off this feature using the Options dialog box.
  • The Forms wizard allows formatting any range as checkboxes.
    Use 0 and 1 in range cells. You may double-click on such cells to rotate values.


  • Significantly improved performance of connecting to databases and loading configuration data.
    The add-in caches database metadata and uses it for the following requests.
  • Improved detecting of stored procedures to show in the query list.
  • Removed Table Views groups in the Data, View, and Design tabs.
  • Rewritten and improved documentation.

SaveToDB Edition Comparison

Loading data
Saving data
Saving data using VBA
Interface features
Configured features except for cell change event handlers
Cell change event handlersx
Outlook Integration
Commercial usex

Here is a sample of the cell change handler:

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 add-in calls such handlers on every cell change.

The cell 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 cell change handlers can update underlying tables or raise exceptions to prevent cell changes.

Install and Uninstall


To install the SaveToDB add-in:

  • Download and unzip SaveToDB setup package to a local folder.
  • Close Microsoft Excel.
  • Run setup.exe.

SaveToDB requires the following pre-installed Microsoft components:

  • Microsoft .NET Framework 4.5.2 or higher
  • Visual Studio 2010 Tools for Office Runtime

If these components are not installed, you will be asked to download and install them from the Microsoft website.
It may require downloading additionally about 100MB.


To update the SaveToDB add-in, just install a newer version.

Alternatively, you may uninstall SaveToDB first and then make a clean install.


To uninstall the SaveToDB add-in:

  • Close Microsoft Excel.
  • Open Control Panel.
  • Open Programs and Features.
  • Select SaveToDB and click the Uninstall button.


It is recommended to uninstall SaveToDB 1-7 before installing SaveToDB 8.

Previous versions are converted to a new trial version with a 30-day period.

After that period, you may purchase and register a new major SaveToDB version, or uninstall it and install the previous version.

In the last case, if the previous major version was registered, you may continue to use it without additional actions.


If you do not see the SaveToDB tab, try to repair SaveToDB installation:

  1. Close Microsoft Excel.
  2. Open Control Panel.
  3. Open Programs and Features.
  4. Select SaveToDB and click the Repair button.
  5. Open Microsoft Excel.

If there is still no SaveToDB tab, please try the following:

  1. Close Microsoft Excel.
  2. Run the file C:\Program Files (x86)\Gartle\SaveToDB\RegisterSaveToDB_User.cmd.
  3. Open Microsoft Excel.

If there is still no SaveToDB tab, try to activate the add-in from the disabled items in Microsoft Excel:

  1. Open the File, Options dialog box.
  2. Click on the Add-ins tab.
  3. Select Disabled Items in the Manage list (in the bottom left corner) and click the Go... button.
  4. Select the SaveToDB add-in and click the Enable button.

If you still do not see the SaveToDB tab, please contact us.

Corporate Deployment

You may use the savetodb.msi package to deploy the SaveToDB add-in to users' computers.

SaveToDB requires the following pre-installed Microsoft components:

  • Microsoft .NET Framework 4.5.2 or higher
  • Visual Studio 2010 Tools for Office Runtime

Use the following link to download and install Visual Studio 2010 Tools for Office Runtime:

System Requirements

Supported Versions of Microsoft Excel:

  • Microsoft Excel 2007, 2010, 2013, 2016

Supported Architectures:

  • x86, x64

Supported Operating Systems:

  • Windows Vista SP2, 7 SP1, 8, 8.1, 10
  • Windows Server 2008 SP2, 2008 R2 SP1, 2012, 2012 R2, 2016

Supported Versions of Microsoft SQL Server:

  • Microsoft SQL Server 2005, 2008, 2008 R2, 2012, 2014, 2016, 2017 including Express LocalDB
  • Microsoft Azure SQL Database

Supported Versions of Microsoft SQL Server Compact:

  • Microsoft SQL Server Compact 3.5, 4.0

Supported Versions of Oracle Database:

  • Oracle Database 10g R1/R2, Oracle Database 11g R1/R2, Oracle Database 12c R1

Supported Versions of IBM DB2:

  • IBM DB2 9.5, 9.7, 9.8, 10.1, 10.5, 11.1

Supported Versions of MySQL:

  • MySQL 5.5, 5.6, 5.7

Supported Versions of SkySQL MariaDB:

  • MariaDB 5.5, 10.0, 10.1, 10.2

Supported Versions of NuoDB:

  • NuoDB 2.0.4, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6

Supported Versions of PostgreSQL:

  • PostgreSQL 8.0, 8.1, 8.2, 8.3, 8.4, 9.0, 9.1, 9.2, 9.3, 9.4

Supported Versions of SQLite:

  • SQLite 2, 3

Supported Versions of SaveToDB Framework:

  • SaveToDB Framework 2.0, 3.0, 4.0, 4.7, 5.0, 6.x, 7.0, 7.2, 8.0

Trial Version Limitations

You can use SaveToDB without any limit during a 30-day trial period.

You have to activate the trial.

When the trial period has expired, the SaveToDB add-in stops working, and you have the following options:

  1. To purchase a license and register the SaveToDB Personal, Standard, or Enterprise edition.
  2. To purchase a subscription and register the SaveToDB Personal, Standard, or Enterprise edition.
  3. To stop the use and remove SaveToDB from a computer.

See also

End-User License Agreement

This End-User License Agreement (EULA) is a legal agreement between you (either an individual or a single entity) and Gartle Technology Corporation for any SaveToDB software, use examples and documentation (Software) that accompany this EULA.



Your licensing of Software is in accordance with the terms of the EULA in effect at the time of such licensing. By licensing Software, you accept and agree to the EULA in effect at such time.

  1. GRANT OF LICENSE: Gartle Technology Corporation grants you the following rights provided that you comply with all terms and conditions of this EULA:
    1. Trial Period: You may install, use, access, display and run the Software for purposes of evaluation of the Software for a period of thirty (30) days from the date of installation of the Software to determine if the Software meets your needs. Upon completion of your evaluation or at the end of the 30-day trial period, whichever occurs first, you must do one of the following:
      1) purchase a license of SaveToDB Personal, SaveToDB Standard, or SaveToDB Enterprise to continue use of Software;
      2) purchase a subscription to SaveToDB Personal, SaveToDB Standard, or SaveToDB Enterprise to continue use of Software;
      or 3) discontinue use of the Software and uninstall the Software.
    2. Installation and Use: You may install, use, access, display and run one (1) copy of the Software per license, on a non-exclusive basis and without right of sublicense or concurrent use, on a single computer or machine, such as a workstation.
    3. Software Transfer: You may transfer the Software to a different internal workstation or user so long as you have purchased a License for each such workstation or user. You may not, however, transfer the Software to a Third Party.
    4. Use of Examples: You may install, access, modify and use Software examples, including Microsoft Excel workbooks, databases, SQL codes, and batch files, for your private or company-internal purposes.
  2. LIMITATIONS: You may not use, copy, modify, display, rent, lease, loan, transfer, distribute, download, merge, or make any translation or derivative work of the Software, except as expressly provided herein. You may not reverse engineer, decompile, or disassemble the Software, except and only to the extent that such activity is expressly permitted by applicable law notwithstanding this limitation.
  3. INTELLECTUAL PROPERTY RIGHTS AND CONFIDENTIALITY: The Software, including methods, processes and/or techniques utilized therein, is owned by, proprietary to and valuable trade secrets of Gartle Technology Corporation and is protected by Russian Federation copyright law and international treaties. You agree to take no actions that impair or infringe Gartle Technology Corporation's intellectual property rights in the Software. You agree not to remove, efface or obscure any copyright notices, other proprietary markings or confidentiality legends placed upon or contained within the Software.
  4. DISCLAIMER OF WARRANTIES: Gartle Technology Corporation disclaims all warranties concerning the Software and Services (if any), express, implied, or statutory, including without limitation, any warranties, duties or conditions of merchantability or fitness for a particular purpose, warranties of reliability or availability, of accuracy or completeness of responses, of results, of workmanlike effort, of lack of viruses, and of lack of negligence, all with regard to the Software, and the provision of or failure to provide support or other services, information, software, and related content through the Software or otherwise arising out of the use of the Software. Gartle Technology Corporation does not warrant that the Software will operate in combination with other software products selected by you, or that the Software will operate uninterrupted or error-free. Additionally, Gartle Technology Corporation and its suppliers provide the Software and Services AS IS AND WITH ALL FAULTS. THERE IS NO WARRANTY OR CONDITION OF TITLE, QUIET ENJOYMENT, QUIET POSSESSION, CORRESPONDENCE TO DESCRIPTION, OR NONINFRINGEMENT WITH REGARD TO THE SOFTWARE.
  6. LIMITATION ON REMEDIES: Within the first thirty (30) days after your receipt of the Software, should you encounter and report to Gartle Technology Corporation within such time period a reproducible error that causes the Software not to perform in all material respects as set forth in the Software documentation, then Gartle Technology Corporation will, at its sole discretion, either: a) resolve the error or malfunction, and modify or replace the Software (if deemed necessary by Gartle Technology Corporation); or b) allow you to terminate this EULA with respect to the non-conforming Software and, upon your return of the Software to Gartle Technology Corporation, Gartle Technology Corporation shall provide you with the lesser of a) the actual damages incurred by you; or b) the amount you paid for the non-conforming Software. The remedies described in this section shall be your sole and exclusive remedies under this EULA.
    1. Reservation of Rights and Ownership: Gartle Technology Corporation reserves all rights not expressly granted to you in this EULA. The Software is licensed, not sold.
    2. Consent to Use of Data: You agree that Gartle Technology Corporation and its affiliates may collect and use technical information gathered as part of the Software support services provided to you, if any, related to the Software. Gartle Technology Corporation may use this information solely to improve Gartle Technology Corporation products or to provide customized services or technologies to you and will not disclose this information in a form that personally identifies you.
    3. Links to Third Party Sites: We may link to third-party sites through the use of the Software. The third-party sites are not under the control of Gartle Technology Corporation, and Gartle Technology Corporation is not responsible for the contents of any third-party sites, any links contained in third-party sites, or any changes or updates to third-party sites. Gartle Technology Corporation is not responsible for webcasting or any other form of transmission received from any third-party sites. Gartle Technology Corporation is providing these links to third-party sites to you only as a convenience, and the inclusion of any link does not imply an endorsement by Gartle Technology Corporation of the third-party site.
    4. Additional Software/Services: This EULA applies to updates, supplements, add-on components, or Internet-based services components, of the Software that Gartle Technology Corporation may provide to you or make available to you after the date you obtain your initial copy of the Software, unless Gartle Technology Corporation provides other terms along with the update, supplement, add-on component, or Internet-based services component. Gartle Technology Corporation reserves the right to discontinue any Internet-based services provided to you or made available to you through the use of the Software.
    5. Upgrades: To use Software identified as an upgrade, you must first be licensed for the software identified by Gartle Technology Corporation as eligible for the upgrade. After upgrading, you may no longer use the software that formed the basis for your upgrade eligibility.
    6. Applicable Law: This EULA is governed by the laws of the Russian Federation. Any legal action or proceeding relating to this EULA shall be instituted in a court of arbitration in the Moscow City, Russian Federation. Gartle Technology Corporation and you agree to submit to the jurisdiction of, and agree that venue is proper in, these courts in any such action or proceeding. The prevailing party in any action to enforce this EULA will be entitled to recover its attorney fees and costs in connection with such action.
    7. Waiver: The failure of either party to enforce any of the terms of this EULA shall not be construed as a waiver of future enforcement of that or any other term.
    8. Entire Agreement and Severability: This EULA (including any addendum or amendment to this EULA which is included with the Software) is the entire agreement between you and Gartle Technology Corporation relating to the Software and the support services (if any) and it supersedes all prior or contemporaneous oral or written communications, proposals and representations with respect to the Software or any other subject matter covered by this EULA. To the extent the terms of any Gartle Technology Corporation policies or programs for support services conflict with the terms of this EULA, the terms of this EULA shall control. If any provision of this EULA is held to be void, invalid, unenforceable or illegal, the other provisions shall continue in full force and effect.
    9. Termination: Without prejudice to any other rights, Gartle Technology Corporation may terminate this EULA if you fail to comply with the terms and conditions of this EULA. In such event, you must destroy all copies of the Software and all of its component parts and you will not be entitled to any refund of monies.

Frequently Asked Questions

Is it possible to use the localized names for table columns, output columns of views and stored procedures?
Yes. Database servers support the localized names.
However, if you want to save data changes back to a database, then the names should conform to rules for stored procedure parameter names.
For example, space and non-alphanumeric symbols are not supported in parameter names.
At the same time, we recommend to use English names and configure the data translation.
Can I use spaces in column names of tables and views?
Yes, you can. However, these fields cannot be used in procedures parameters for saving data and handling events as they do not conform to requirements for procedure parameter names.
We advise to use English names of fields without spaces and use the data translation within Microsoft Excel.
I cannot save Excel table changes to a database. What to do?
See Required conditions to save changes.
I receive a message of operation timeout when saving changes of a big data table. How can I increase the operation timeout?
Change the Command Timeout using the Options dialog box.
I receive a message of operation timeout when publishing data. How can I increase the operation timeout?
Change the Command Timeout using the Options dialog box.
Why does the Microsoft Excel Refresh menu not work for MySQL?
The SaveToDB add-in uses the .NET provider for working with MySQL by default.
It allows you to work with MySQL without installing additional components. You may load and save data using the SaveToDB add-in.
For the full support of MySQL in Microsoft Excel, you have to install the ODBC driver from MySQL website and use this driver when connecting to MySQL database.
Why does the Microsoft Excel Refresh menu not work for Microsoft SQL Server Compact?
Microsoft Excel does not support working with Microsoft SQL Server Compact.
The SaveToDB add-in uses the .NET provider for working with Microsoft SQL Server Compact without installing additional components.
You may load and save data using the SaveToDB add-in.
Why does the Microsoft Excel Refresh menu not work for web data?
The SaveToDB add-in uses an internal provider with advanced features for working with web data.
Why do web-requests sometimes display wrong data?
The SaveToDB add-in uses smart algorithms for parsing table data from web pages in HTML, XML, and JSON formats.
If there are several tables on the page, then the most suitable one is chosen. Sometimes it can be the table of contents, which contains more "useful" data than the real table with data.
Try to use pages for printing which contain fewer formatting tables.
If a web page is not parsed correctly, you may send us a request. We will try to change the algorithms.
Why are user passwords saved unencrypted?
SaveToDB uses standard Microsoft Excel features for working with databases. Microsoft Excel saves the passwords unencrypted.
You may encrypt the entire workbook or even the disk drive to prevent using your password by other people.
SaveToDB allows using workbook personally at all as other users can connect the data using their credentials.
SaveToDB uses an internal provider for working with web data.
For web data, user's sensitive information is encrypted using Windows encryption features.
Microsoft Excel cannot connect to Oracle. What is the problem?
If connection data is correct and the server is available, see Fixing Oracle Database 10g Connection Error.
Why do I have to reenter the password to have access to web data?
The possible reasons are:
the password is changed,
or the workbook is opened under another user account,
or the login credentials have expired.
Why does the query list show native, not translated, names for all database objects?
The translation must be configured in a database, and the appropriate data language should be selected in the Options dialog box.
Why does the query list show native, not translated, names for some database objects?
If several objects have the same name after translation, then the first name is displayed translated, and the others are displayed with the native database names.
All translated object names should be unique.
Why is the Publish Wizard disabled?
The wizard works with Excel tables early named "Lists". Any table cell must be selected.
See Publish Wizard for a complete description.
In short, select the desired table range and click Excel "Insert, Table" to insert an Excel table.
SaveToDB tab has disappeared. What should I do?
Select File, Options and activate the Add-ins tab.
If the SaveToDB add-in is in the Inactive Application Add-ins group, then select COM Add-ins in the Manage combo box and the Go... button.
Then select the SaveToDB and click OK.
If the SaveToDB add-in is in the Disabled Application Add-ins group, then select Disabled Items in the Manage combo box and the Go... button.
Then select the SaveToDB and click the Enable button.
I cannot install the SaveToDB add-in. What to do?
The most probable reason is that you try to install the add-in from the path containing some national specific characters.
Try to create a folder named in English and to install it from this folder.
Why are the Views group buttons disabled?
The add-in works with Excel tables early called as Lists.
A possible reason is that your sheet does not contain any table.
To insert an Excel table, select a table region and execute the Excel Insert, Table command.

Product Registration

You can use SaveToDB during a 30-day trial period for free.

During this period, you can try all the features of the SaveToDB Enterprise edition.

When the trial period has expired, the SaveToDB add-in stops working, and you have the following options:

  1. To purchase a license and register the SaveToDB Personal, Standard, or Enterprise edition.
  2. To purchase a subscription and register the SaveToDB Personal, Standard, or Enterprise edition.
  3. To stop the use and remove SaveToDB from a computer.

To start the registration process, use the Help, Register Product menu item.

The registration process contains the following steps:

  1. Choosing the SaveToDB edition;
  2. Filling Licensee data;
  3. Activating the product.

Selecting Edition

In the first step, select an edition.

If you install the SaveToDB add-in for the first time, activate the trial version.

To register the SaveToDB Personal, Standard, or Enterprise edition, a product code is required.

This product code is sent by email after SaveToDB license purchase.

SaveToDB Registration - Select the edition

Licensee Data

In this step, select the activation method, and fill in the form.

SaveToDB Registration - Fill personal data

The Next button is enabled when you check the required field about the personal data use.

Online Activation

After clicking the Next button in the previous step, the SaveToDB add-in connects to the registration server.

If the connection is successful, the final step screen is shown.

SaveToDB Registration - The final step

If any error occurred during connection, you might try to register the product later or try to register the product by email.

Activation by Email

If you choose the Activate by email option, the following screen is displayed:

SaveToDB Registration - Check and start the registration email

Click the Create Email Message button to create an email.

If starting the email program has failed, please create the registration email manually using the shown registration data.
Just copy and paste the To, Subject, and the Message fields.

The registration server sends the reply in a couple of seconds.

Please copy the activation code from the received registration email and paste it into the Activation code field.

SaveToDB Registration - Paste the activation code

The Next button is enabled when the activation code is valid.

Click Next to finish the activation.

SaveToDB Registration - The final step
This website is using cookies. By continuing to browse, you give us your consent to our use of cookies as explained in our Cookie Policy.OK