meta data for this page
  •  

ibec_ds_Export

With this function, you can export datasets into an XML spreadsheet.

Description

No additional description…

Syntax

  function ibec_ds_Export(Dataset : variant; ExportType : integer; 
                       FileName : string; Options : string) : integer;

The ibec_ds_Export function exports datasets created with SELECT … AS DATASET statement into a number of various data formats.

ibec_ds_Export always returns 0.

Parameters

Argument Description
Dataset A dataset created with SELECT … AS DATASET statement.
ExportType Type of export.
FileName Name of result file.
Options Set of export options.

Export Types

Options

CurrencyFormat Format string for currency fields.
DateFormat Format string for date fields.
DateTimeFormat Format string for datetime fields.
TimeFormat Format string for time fields.
FloatFormat Format string for float/double precision fields.
IntegerFormat Format string for integer fields.
ExportTextBlobs Memo fields (text blobs) will be exported as regular strings if specified, otherwise they will be omitted.

XML Options

Encoding Encoding of xml data (encoding attribute in <?xml version=“1.0” encoding=“utf-8”?>).
StringAsText If specified string data will appear in XML file as is, otherwise it will be MIME-encoded.
MemoAsText If specified memo fields data will appear in XML file as is, otherwise it will be MIME-encoded.
DateTimeAsText If specified date/time fields data will appear in XML file as is, otherwise it will be MIME-encoded.
ConvertToUTF8 Converts field data from ANSI to UTF8 before writing to XML file.

TXT/CSV/DIF/SYLK/JSON options

Readable (JSON) Adds some extra spaces/CRLFs to make result file friendly readable.
WriteBOM (JSON/TXT/CSV) Writes UTF8 BOM into the beginning of result file.
OmitCaptions Field captions will not be included in the result file if specified.
QuoteStrings (CSV) String values will be quoted using double quote char (“).
Delimiter (CSV) Delimiter char (semicolon is used by default).

HTML Options

Encoding Encoding of html data (charset attribute in <META content=“text/html; charset=utf8” http-equiv=“Content-Type”>).
ConvertToUTF8 Converts field data from ANSI to UTF8 before writing to HTML file.

XLS/XML spreadsheet options

OmitCaptions Field captions will not be included in the result file if specified.
ConvertToUTF8 (XML SpreadSheet) Converts field data from ANSI to UTF8 before writing to result file.

It is possible to export data into XLSX format if XLS or XLSX export type is specified. There is no difference between XLS and XLSX export types.

DBF Options

ConvertToDOS Data will be converted from ANSI to OEM encoding.
LongStringsToMemo Long strings (with length > 254 bytes) will be written as memos, otherwise they will be truncated to 254 bytes.
DateTimeAsDate If specified datetime values will be exported as an 8-bytes string in the format YYYYMMDD, otherwise they will be converted to string using DateTimeFormat format.

Example 1

execute ibeblock
as
begin
   ExportOptions = 'ConvertToUTF8;
                    DateTimeFormat="dd-mm-yyy hh:nn:ss";
                    DateFormat="dd-mm-yyyy";
                    TimeFormat="hh:nn:ss";
                    CurrencyFormat="$0.00";
                    IntegerFormat="0";
                    FloatFormat="0.0000";
                    ExportTextBlobs';
 
   try
     select * from rdb$relation_fields
     order by rdb$relation_name, rdb$field_position
     as dataset dsFields;
 
     ibec_ds_Export(dsFields, __etXMLSpreadSheet, 'D:\rdb$relation_fields.xml', ExportOptions);

     ibec_ShellExecute('open', 'D:\rdb$relation_fields.xml', '', '', 0);
   finally
     if (dsFields is not null) then
       ibec_ds_Close(dsFields);
   end;
end

Example 2

select * from "Customer"
  export as json into 'D:\MyData\customer.json'
  options 'DateTimeFormat="dd-mm-yyy hh:nn:ss";
          DateFormat="dd-mm-yyyy";
          TimeFormat="hh:nn:ss";
          ExportTextBlobs; 
          Readable;
          WriteBOM';

Example 3

ExportOptions = 'DateTimeFormat="dd-mm-yyy hh:nn:ss";
          DateFormat="dd-mm-yyyy";
          TimeFormat="hh:nn:ss";
          ExportTextBlobs; 
          Readable;
          WriteBOM';
select * from "Customer" order by "CustNo" as dataset MyDS;
ibec_ds_Export(MyDS, __etJSON, 'D:\MyData\customer.json', ExportOptions);
ibec_ds_Close(MyDS);