Input

  • Read in data from spreadsheets in Excel 2008, 2005, or earlier formats; Microsoft Access Databases; delimited text files
  • Read data from multiple workbooks, multiple worksheets, at one go
  • Define where the input data is on the worksheet using header rows, start, and end rows
  • Read in only those rows where all the input columns have data in them
  • Do not read in those rows where none of the input columns have data in them
  • Define a trigger column so that only those rows are read in which contain a value in that column, or where the value in that column changes
  • Automatically generate warnings when two input rows are identical

Data Transformation

  • Define a .Net regular expression to match the cell value to. The value output to the database will be the text matching the first capturing parenthesis in the pattern. If the pattern does not match, no value will be included in the output.
  • Write data to the following types of SQl columns: INT, VARCHAR(X), NVARCHAR(X), BIT, DATETIME, BIGINT, DECIMAL
  • Seek-up within the worksheet to find a value for an empty cell in a given column
  • Check that each value in a column is unique
  • Require that an input column not be empty
  • Define boolean columns with single or multiple possible strings that evaluate to "true" while others evaluate to "false"
  • Define foreign-key columns whose input values are matched against values in another table/column that is read from Excel, and the output value is the ID (or the value in any other column) of the matched row
  • Define "mapped" columns where you "map" input cell text to values output to the database
  • Create new columns whose values are automatically generated by the application; these values could be an automatically incremented index, a GUID, the name of the current worksheet, the number of the current row in Excel, and so on
  • Create new columns with a constant value in them, for example, "ImportedFromExcel" could be set to 1
  • Create expression columns whose values are evaluated using a custom DataColumn.Expression satement

Output

  • Output the data to SQL script files or directly load it into your database, or just preview it using the built-in previewer
  • Multiple connection and authentication types, pretty much anything that SQL Management Studio can connect to Relational eXcel can also connect to
  • Choose to automatically truncate or create the target tables in the database before writing out the data
  • Template SQL script files are used to generate the output SQL script files; you can include any command you wish in those files
  • The generated SQL files can be one of two types: INSERT INTO statements using UNION ALL to join the rows, or a batch insert using the OPENXML procedure. The latter is much, much faster than the former!

Feature Requests

Currently the following features are under development:

  • Default values for columns if no value is present in the input cell
  • Specification of columns to read in by header
  • Compound Foreign Keys (this feature is already built into the application, it just can't be configured through the GUI yet!)

Have a feature request? Send it to: