Skip to content

Supported Formats

Zequel supports four file formats for data export and two for data import. This page describes each format in detail, including its options and limitations.

Format Support Matrix

FormatExportImportClipboard
CSVYesYesYes
JSONYesYesYes
SQLYesNo (see Backup and Restore)Yes
Excel (XLSX)YesNoNo

CSV

Extension: .csv, .tsv, .txt

CSV (Comma-Separated Values) is a plain-text format where each line represents a row and values are separated by a delimiter character.

Export Behavior

  • Delimiter -- Defaults to comma (,). Configurable to semicolon, tab, pipe, or any single character.
  • Headers -- Column names are written as the first row by default. This can be disabled.
  • Quoting -- Fields that contain the delimiter, double quotes, or newline characters are wrapped in double quotes. Internal double quotes are escaped by doubling them ("").
  • Null values -- NULL database values are exported as empty strings.
  • Object values -- Values of type object or array are serialized as JSON strings.

Import Behavior

  • Zequel uses the csv-parse library to read CSV files.
  • The first row is treated as headers by default. Toggle this off if your file has no header row.
  • Custom delimiters can be specified in the parse options.
  • Detected column types (INTEGER, TEXT, BOOLEAN, etc.) are inferred from sample values and used during column mapping.

Limitations

  • No support for multi-character delimiters.
  • Encoding is assumed to be UTF-8.

JSON

Extension: .json

JSON (JavaScript Object Notation) is a structured text format widely used for data interchange.

Export Behavior

  • Data is exported as a JSON array of objects.
  • Each object represents one row, with column names as keys.
json
[
  {
    "id": 1,
    "name": "Alice",
    "email": "alice@example.com"
  },
  {
    "id": 2,
    "name": "Bob",
    "email": "bob@example.com"
  }
]
  • null and undefined values are preserved as JSON null.
  • Object and array column values are serialized inline.
  • Output is pretty-printed with 2-space indentation for readability.

Import Behavior

  • Zequel expects the file to contain a JSON array of objects at the top level.
  • Keys from the first object are used as column names.
  • Type detection analyzes sample values across all objects.

Limitations

  • The entire file is read into memory. Very large JSON files (hundreds of megabytes) may cause performance issues.
  • Nested objects are not flattened automatically. They are stored as JSON strings unless the target column type is JSON or JSONB.

SQL

Extension: .sql

SQL export generates INSERT INTO statements that can be executed against any compatible SQL database.

Export Behavior

  • Each row produces one INSERT INTO statement.
  • Column names are double-quoted in the column list.
  • String values use single quotes with internal single quotes escaped by doubling ('').
  • NULL values are written as the SQL keyword NULL.
  • Numeric values are written without quotes.
  • Boolean values are converted to 1 or 0.

Example output:

sql
INSERT INTO "users" ("id", "name", "email") VALUES (1, 'Alice', 'alice@example.com');
INSERT INTO "users" ("id", "name", "email") VALUES (2, 'Bob', 'bob@example.com');

Limitations

  • SQL export does not include CREATE TABLE statements. Use Backup and Restore for full schema and data exports.
  • The generated SQL uses double-quoted identifiers, which are standard SQL but may require adjustment for some database engines.
  • No batch INSERT syntax (e.g., multi-row VALUES clauses) is generated. Each row is a separate statement.

Excel (XLSX)

Extension: .xlsx

Excel export creates an XLSX workbook compatible with Microsoft Excel, Google Sheets, LibreOffice Calc, and other spreadsheet applications.

Export Behavior

  • Data is written to a single worksheet within the workbook.
  • The worksheet name matches the source table name, truncated to 31 characters (the Excel sheet name limit).
  • If the data comes from a query rather than a named table, the sheet is named "Data".
  • Column headers are included in the first row by default.
  • Column widths are auto-sized based on content length, capped at 50 characters wide.
  • NULL values are written as empty cells.
  • Object and array values are serialized as JSON strings.

Limitations

  • Excel export is available only when saving to a file. It cannot be copied to the clipboard.
  • Import from Excel files is not supported.
  • Formatting (bold headers, cell colors, number formats) is not applied. All data is written as plain values.
  • The XLSX format has a maximum of 1,048,576 rows per worksheet. Exports exceeding this limit will be truncated.

Next Steps

Released under the Elastic License 2.0.