# JXWorkBench Import and Export

JXWorkBench allows you to import and export data as csv spreadsheet data.

Traditionally 'csv' files have had values separated by commas, however JXWorkbench allows for arbitrary separators. In addition, there are a variety of options for quoting and escaping characters. (There is also some special handling to support the rather odd escaping rules used by Microsoft Excel, where double quotes are used both for quoting and escaping.)

Directory data will appear in the file as a header file listing the attribute names, and then lines of text with corresponding directory data. For example:

    dn,objectClass,cn,description,displayName,givenName,mail,ou,sn
    "ou=people,o=redbasin,c=au",organizationalUnit;top,,,,,,people,
    "cn=Joe Bloggs,ou=people,o=redbasin,c=au",inetOrgPerson;person,Joe Bloggs,a nice user,Joe Bloggs,Joe,jbloggs@fake.org,,Bloggs

## CSV Options

The options for csv import are usually the same as for csv export. The user needs to choose a separator character and an escape character, and optionally a 'quote' character which can be used to cleanly quote a long string of text that might have multiple 'separator' characters in it (e.g. distinguished names usually have many commas).

A couple of sensible templates are provided; a 'standard' set of 'normal' comma separated value defaults (with commas as separators and backslashes for quotes) and an 'excel' template specifically chosen for Microsoft excel compatibility. Naturally you can also create and save your own csv templates.

Export From: select whether to export the whole tree, or export from the currently selected entry in the tree browser. This is the only option which is different between export and import; it only appears on the 'export' option pane

Text Management: sets the special characters used in the 'csv' file. You can set a separator character (traditionally a comma), an escape character (often a backslash), and optionally a quote character. If the quote character is present it will be used preferentially to quote text that needs escaping, and the escape character will only be used to escape embedded quote characters.

If you are using non-standard character sets, be careful not to accidentally use the same character for two different purposes (an exception is the excel csv format which uses the double quote charater for both quoting and escaping; in general however this will not work).

Multivalued Attributes: You can choose to either represent multi-valued attributes as separate columns in your csv file, or you can define an internal separator character to stick multiple values in the same column (as in the example above which uses ';' to separate object class values).

Binary Data Format: Since csv files are text files, they can struggle to handle non text data such as images, audio files, encrypted passwords or certificate data. This section allows you to either ignore these data types completely (which may cause problems when you import this data) or encode the binary data either as 'hexadecimal' (useful for some programs) or the slightly more compact 'base64' encoding.

Finally, the template mechanism allows you to either load one of the standard default templates, or to save your own for reuse.