EVL – ETL Tool

Products, services and company names referenced in this document may be either trademarks or registered trademarks of their respective owners.

Copyright © 2017–2023 EVL Tool, s.r.o.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts.

Table of Contents


(since EVL 2.4)

Read header of <file.qvd> or standard input, guess data types, and write EVD to standard output or to <file.evd>.

EVD is EVL data definition file, for details see man 5 evd.


  [<file.qvd>] [-o|--output=<file.evd>]
  [--all-as-string | --real-as-decimal[=<precision>,<scale>]]

  ( --help | --usage | --version )



produce EVD with all fields as strings. (Since EVL 2.5.)

-d, --date=<date_format>

use format argument for date data type


output EVD in the inline format (for example to use EVD by other component with ‘-d’ option)

-l, --null=<string>

to specify what string is used for NULL values in QVD, empty string is allowed

-o, --output=<file.evd>

write output into file <file.evd> instead of standard output

-q, --quote=<char>

to use a quote argument in EVD


produce EVD with ‘decimal(<precision>,<scale>)’ instead of ‘double’. When no <precision> or <scale> is specified, it uses values from environment variables ‘EVL_DEFAULT_DECIMAL_PRECISION’ and ‘EVL_DEFAULT_DECIMAL_SCALE’, which are by default set to 18 and 2. (Since EVL 2.5.)

-r, --record-separator=<char>

use ‘sep="<char>"’ for last field

-s, --field-separator=<char>

use ‘sep="<char>"’ for each field

-t, --datetime=<format>

use format for datetime data type

-v, --verbose

print to STDERR info/debug messages


print this help and exit


print short usage information and exit


print version and exit


  1. Having ‘some.qvd’, this command:
    qvd2evd --null -r '\n' -s ';' -d '%d.%m.%Y' some.qvd

    will produce:

    id       int              null="" sep=";"
    started  date("%d.%m.%Y") null="" sep=";"
    value    string           null="" sep="\n"