Article: AN0001773Updated:
Jedná se o rozšířený formát pro přenos dat. Každý záznam je v jednom nebo více řádcích a jednotlivé sloupce jsou odděleny oddělovačem.
V definici importu můžete nastavit různé parametry importního souboru, ty budou popsány dále.
Kódování souboru
Importní soubor může být v libovolné kódové stránce. Pro správnou funkci jej musíte správně zvolit. Jinak může dojít k chybnému importu.
Záhlaví souboru
V některých případech je na prvním řádku souboru hlavička s názvy jednotlivých sloupců. Pokud ji obsahuje i Váš importní soubor, pak v definici importu zaškrtněte pole Obsahuje hlavičky sloupců.
Počet sloupců v importním souboru
V importním souboru neplatí, že jeden řádek souboru je roven jednomu importovanému záznamu. Systém ObjectGears podporuje import textů (např. komentářů), které obsahují znak konce řádku. Takový to text stačí uzavřít do uvozovek a import správně pozná konec textu na dalších řádcích. Pokud je však ve Vašem textu také znak uvozovek, pak jej musíte do importního souboru zdvojit (viz. následující kapitola).
Pro zajištění této funkcionality je proto nutné zadat přesný počet sloupců v importním souboru. Při špatném počtu dojde při importu k chybě nebo import proběhne zdánlivě správně, ale naimportuje chybná data.
Přemapování uvozovek a oddělovače
Někdy se může vyskytnout v textových datech znak oddělovače, uvozovek nebo konce řádku. V tom případě je třeba text uzavřít do uvozovek a uvozovky uvnitř buňky zdvojit.
Obecně je třeba toto provést v těchto případech:
-
pokud je na prvním místě buňky znak uvozovky
-
pokud je v textu znak oddělovače
-
pokud je v textu znak konce řádku
Níže uvedená tabulka ukazuje, jak budou importovány sloupce s uvozovkami:
Hodnota v CSV souboru |
Hodnota uložená do databáze |
"c |
zde dojde k chybě při importu |
"c" |
c |
"b""b" |
b"b |
b"b |
b"b |
d" |
d" |
Nevkládejte uvozovky na všech místech, jen u sloupců nebo textů, které mohou obsahovat nebezpečný text. Uvozovky můžete vložit jen do některých textů. Není nutné uvozovky aplikovat na celý sloupec. Zbytečně tak nezpomalíte vlastní import.
Oddělovač sloupců
Ve výchozím nastavení je jako oddělovač jednotlivých sloupců nastaven středník. Můžete však zadat libovolný znak (např. čárku, #...), který není obsažen ve Vašich datech.
Mapování sloupců
V definici importu určujete mapování sloupců ve třídě, do níž data importujete, na sloupce z importovaného souboru. Mapování provedete zadáním jména sloupce do pole Importní sloupec u příslušného sloupce třídy. Jeden sloupec z importního souboru můžete mapovat na více sloupců třídy, do níž importujete.
Na pořadí sloupců ve třídě a importním souboru nezáleží. V importním souboru můžete mít také více sloupců, které se při vlastním importu budou ignorovat. Máte tak možnost použít jeden importní soubor pro více importů. Např. nejdříve naimportujete hodnoty do číselníku při využití vlastnosti importu Importovat unikátní záznamy a následně vlastní data do jiné třídy, která se na číselník odkazuje.
Pokud není v importním souboru zadána hlavička sloupců s názvy, pak je nemůžete zadávat ani do pole Importní sloupec. V tom případě můžete použít číslování sloupců, kde první sloupec má číslo 1, druhý 2...atd. I v případě číslování sloupců můžete jeden sloupec z importního souboru nastavit pro import k více sloupcům ve třídě.