- Vytvoril D2000 Dev Team na okt 12, 2017
Akcia EXPORT_CSV
Funkcia
Export riadku, stĺpca alebo celej
lokálnej štruktúrovanej premennej (t.j. lokálnej premennej typu Record)
do CSV súboru.
Deklarácia
EXPORT_CSV toExportStruct, delimiter, fName, bMonoTimes, retCodeIdent_Int[, transPalIdx_Int] [TIME] [UTF8 | ENCODING "@APP_DEFAULT@"] [APPEND]
Parametre
toExportStruct | in | Identifikátor riadku, identifikátor stĺpca alebo identifikátor celej lokálnej premennej typu Record. |
delimiter | in | Identifikátor typu Text - oddeľovač v CSV súbore. |
fName | in | Meno súboru aj s príponou. |
bMonoTimes | in | Parameter typu Bool - spôsob práce s časom (príznak monotónneho času). |
retCodeIdent_Int | out | Návratová hodnota typu Int - úspešnosť akcie. |
transPalIdx | in | Nepovinný parameter typu Int. |
TIME | in | Kľúčové slovo. |
UTF8 | in | Kľúčové slovo. |
ENCODING | in | Kľúčové slovo, za ním nasleduje názov kódovania súboru v textovom tvare. Zoznam podporovaných kódovaní v ESL. |
APPEND | in | Kľúčové slovo. |
Návratový kód
Hodnota parametra retCodeIdent_Int - pozri tabuľku
chybových stavov.
Popis
Akcia generuje súbor formátu .CSV. Meno súboru je dané hodnotou parametra fName. Oddeľovač položiek v CSV súbore
je daný parametrom delimiter.
Úspešnosť operácie je indikovaná výstupným parametrom retCodeIdent_Int. Hodnota 0 znamená úspešný export, hodnota rôzna od 0 chybu.
V závislosti od parametra toExportStruct akcia exportuje:
Formát CSV súboru
Lokálna premenná sa do CSV súboru zapisuje po riadkoch (riadok premennej predstavuje riadok v CSV súbore).
Vzhľadom na to, že formát CSV súboru nie je jednoznačne definovaný, akcia ako druhý parameter očakáva oddeľovač (delimiter). Je to 1-znakový reťazec (1 znak) ktorý bude použitý pri oddeľovaní položiek v CSV súbore.
Reálne čísla používajú ako oddeľovač desatinných miest desatinnú bodku '.'.
Ak je použité kľúčové slovo TIME, do CSV súboru bude zapisovaný aj čas vzniku hodnoty pre každú položku lokálnej premennej. Čas je vždy uvedený pred vlastnou hodnotou položky. CSV súbor má preto dvojnásobný počet stĺpcov.
Ak je použité kľúčové slovo UTF8, akcia generuje textový súbor kódovaný vo formáte UTF-8.
Pri použití kľúčového slova APPEND, akcia doplní dáta do existujúceho CSV súboru. Ak zadaný súbor nenájde, tak ho vytvorí.
Čas je formátovaný maskou definovanou v transformačnej palete pod indexom daným hodnotou parametra transPalIdx_Int.
Ak tento parameter nie je uvedený, alebo jeho hodnota je 0, použije sa maska dd.mm.rrrr hh:mi:ss. Ak je jeho hodnota -1, potom konverzia hodnôt typu Absolútny čas a Real prebieha podľa nastavenia v Regional and Language Options aktuálneho užívateľa na systémoch Windows. Pre iné systémy je hodnota -1 automaticky nahradená hodnotou 0.
Parameter bMonoTimes upravuje prácu s časom vzhľadom na posun letný/zimný čas. Ak je jeho hodnota @TRUE, všetky časové hodnoty budú na výstupe prepočítané na normálny monotónny (zimný) čas.
Oddeľovač v CSV súbore (parameter delimiter) je možné získať volaním funkcie %GetCSVDelimiter.
Úspešnosť operácie je indikovaná výstupným parametrom retCodeIdent_Int. Hodnota 0 znamená úspešný export, hodnota rôzna od 0 chybu.
V závislosti od parametra toExportStruct akcia exportuje:
- celú lokálnu premennú
- riadok lokálnej premennej
- stĺpec lokálnej premennej
Formát CSV súboru
Lokálna premenná sa do CSV súboru zapisuje po riadkoch (riadok premennej predstavuje riadok v CSV súbore).
Vzhľadom na to, že formát CSV súboru nie je jednoznačne definovaný, akcia ako druhý parameter očakáva oddeľovač (delimiter). Je to 1-znakový reťazec (1 znak) ktorý bude použitý pri oddeľovaní položiek v CSV súbore.
Reálne čísla používajú ako oddeľovač desatinných miest desatinnú bodku '.'.
Ak je použité kľúčové slovo TIME, do CSV súboru bude zapisovaný aj čas vzniku hodnoty pre každú položku lokálnej premennej. Čas je vždy uvedený pred vlastnou hodnotou položky. CSV súbor má preto dvojnásobný počet stĺpcov.
Ak je použité kľúčové slovo UTF8, akcia generuje textový súbor kódovaný vo formáte UTF-8.
Pri použití kľúčového slova APPEND, akcia doplní dáta do existujúceho CSV súboru. Ak zadaný súbor nenájde, tak ho vytvorí.
Čas je formátovaný maskou definovanou v transformačnej palete pod indexom daným hodnotou parametra transPalIdx_Int.
Ak tento parameter nie je uvedený, alebo jeho hodnota je 0, použije sa maska dd.mm.rrrr hh:mi:ss. Ak je jeho hodnota -1, potom konverzia hodnôt typu Absolútny čas a Real prebieha podľa nastavenia v Regional and Language Options aktuálneho užívateľa na systémoch Windows. Pre iné systémy je hodnota -1 automaticky nahradená hodnotou 0.
Parameter bMonoTimes upravuje prácu s časom vzhľadom na posun letný/zimný čas. Ak je jeho hodnota @TRUE, všetky časové hodnoty budú na výstupe prepočítané na normálny monotónny (zimný) čas.
Oddeľovač v CSV súbore (parameter delimiter) je možné získať volaním funkcie %GetCSVDelimiter.
Príklad
Predpoklady:
Je definovaný objekt SD.ArchVal typu Definícia štruktúry so stĺpcami:
Je definovaný objekt SV.ArchVal typu Štruktúrovaná premenná. Typ štruktúry je SD.ArchVal. Počet riadkov: 3. Štartovacie hodnoty sú:
Príklad netestuje úspešnosť vykonania akcie.
Je definovaný objekt SD.ArchVal typu Definícia štruktúry so stĺpcami:
Meno | Typ |
Value | Reálny |
Flags | Celočíselný |
Je definovaný objekt SV.ArchVal typu Štruktúrovaná premenná. Typ štruktúry je SD.ArchVal. Počet riadkov: 3. Štartovacie hodnoty sú:
Value | Flags |
1.2 | 3 |
2 | 2 |
3 | 1 |
Príklad netestuje úspešnosť vykonania akcie.
RECORD (SD.ArchVal) _rec REDIM _rec[SV.ArchVal\DIM] SET _rec WITH SV.ArchVal EXPORT_CSV _rec, ';', "c:\rec.csv", @TRUE, _retCode EXPORT_CSV _rec[1], ';', "c:\rec1.csv", @TRUE, _retCode EXPORT_CSV _rec^Value, ';', "c:\recValue.csv", @TRUE, _retCode
Akcie exportujú lokálnu premennú _rec, ktorá obsahuje kópiu objektu SV.ArchVal.
Vytvorené súbory:
Vytvorené súbory:
c:\rec.csv
1,20000000000000;3 2,00000000000000;2 3,00000000000000;1
c:\rec1.csv
1,20000000000000;3
c:\recValue.csv
1,20000000000000 2,00000000000000 3,00000000000000
Súvisiace stránky:
1 komentár
D2000 Dev Team
PHum: prosim doplnit, ci (ak su data exmportovane v lokalnom case) je podporovany format A2 resp. B2 pre jednoznacne urcenie 2. hodiny pri prechode casov (alebo ci sa obe druhé hodiny exportnú ako 02)