Table of Contents

CSV export

The CSV export produces a delimited text file that contains the values of all visible table cells in the report. It is provided by the core combit.ListLabel32.CrossPlatform package and selected with LlExportTarget.Csv.

CSV is intended for structured data exchange — the export does not preserve fonts, colors, page layout, or any non-table objects. Only cell content is written; formatting and graphical elements from the report project are intentionally dropped.

Tip

Use XLSX export when you need a spreadsheet that retains formatting, headers and footers, or multiple sheets. CSV is the right choice when the consumer is a script, ETL job, or data-import process.


Supported export options

All options are set on ExportConfiguration.ExportOptions using the LlExportOption keys listed below. Values are always strings.

TxtSeparatorChar

Sets the field separator character.

  • Value: a single character (for example ",", ";", or "\t").
  • Default: ,.

If the value is empty, the default separator is used. Only the first character of the string is used.

TxtFrameChar

Sets the text qualifier written around every field value.

  • Value: a string used verbatim before and after each field (typically "\"").
  • Default: " (double quote).

Set the option to an empty string to write unqualified values.

Occurrences of the text qualifier inside a field value are doubled, as specified by RFC 4180. A value of He said "hi" is therefore exported as "He said ""hi""" and read back unchanged by any conforming CSV reader. The rule applies to the configured qualifier, including multi-character ones, and is skipped when the qualifier is empty.

Warning

With an empty text qualifier, values are written verbatim. If the data can contain the separator character or line breaks, the resulting file is no longer unambiguously parsable.

TxtIgnoreHeaderFooterLines

Controls whether the table header and footer lines end up in the exported file. Because a CSV file has at most one header row, repeating the header on every rendered page is usually undesirable.

  • Value: "0", "1", or "2".
  • Default: 1.
Value Behavior
0 Header and footer lines are exported wherever they occur, that is once per rendered page.
1 Header and footer lines are ignored completely, leaving only data rows. This is the default.
2 Each header and footer line is exported once, at its first occurrence. Later repetitions on the following pages are skipped.

Values other than 0 and 2 are treated like 1.

Note

A table may define several header and footer lines. Value 2 applies to each line individually, so the complete header and footer block is exported once rather than only its respective first line.

Note

Group header and group footer lines are not affected by this option. They are controlled by TxtIgnoreGroupLines.

TxtIgnoreGroupLines

Controls whether group header and group footer lines end up in the exported file. Group lines are usually formatting aids for printed reports and rarely useful in a CSV file that is meant to be processed further.

  • Value: "0" or "1".
  • Default: 1.
Value Behavior
0 Group header and group footer lines are exported wherever they occur, that is once per group change.
1 Group header and group footer lines are ignored completely. This is the default.

Values other than 0 are treated like 1.

TxtCharset

Sets the character encoding used when writing the file. The value is passed to Encoding.GetEncoding, so any encoding name supported by .NET can be used (for example "utf-8", "windows-1252", "iso-8859-1").

  • Default: UTF-16 (Encoding.Unicode).
Note

Some encodings require the System.Text.Encoding.CodePages package and explicit registration via Encoding.RegisterProvider on .NET. UTF-8 is always available.


Restrictions

  • Only table content is exported. Objects placed outside the report container — free text objects, charts, images, lines, and rectangles — are not included.
  • Barcode and checkbox table fields are exported as their textual content, not as graphics.
  • All formatting (font, color, alignment) is dropped.
  • Page headers, page footers, and page breaks are not represented. Table header and footer lines are controlled by TxtIgnoreHeaderFooterLines, group header and group footer lines by TxtIgnoreGroupLines.
  • Whether a Byte Order Mark is written depends entirely on the chosen encoding. The default UTF-16 encoding emits one.