Uporaba komponente SMImport --> ImportFromXLS

Odpiranje, tiskanje, pisanje v datoteke in drugo.
Odgovori
damjancek
Prispevkov: 4
Pridružen: 04.11.2005 14:47:35

Uporaba komponente SMImport --> ImportFromXLS

Odgovor Napisal/-a damjancek » 04.11.2005 15:05:29

Zanima me, če je že kdo imel kakšne izkušnje s temi komponentami.
Namreč imam Excel datoteko in tabelo na Oraclovi bazi.
Ta Excel datoteka je tabelarične oblike, torej ima naslove posameznih stolpcev ter podatke nanizane pod njimi.
Vsi celice v Excelu so oblikovane kot "besedilo". Ker imam par datumov, katere hočem prenašati na Oracle, je to malenkostni problem.
V Oraclu imam pa tabelo, ki ima določene atribute na podlagi stolpcev v Excelu, vendar ne vse in ne z enakimi imeni!

V tem trenutku sem zimproviziral tako, da sem naredil na Oraclu popolnoma enako tabelo kot je v Excelu in vse stolpce dal v Varchar2(alfa numeric), imena stolpcev pa sem pustil popolnoma enaka kot so v Excelu (vključujoč presledke, ČŽŠ-je in podobno).

V Delfiju imam komponenti TTable, ki je vezana na to tabelo v Oraclu ter TSMImportFromXLS, v kateri je sourcefilename=pot do Excel datoteke.
Če poženem "Execute", potem mi prenese vse podatke v Oracle, vključujoč imena stolpcev! Recimo da nekaj deluje.

Sedaj pa problemi, katere ne morem rešiti:
1. Rad bi spremenil imena atributov v Oraclu - kako lahko povežem imena stolpcev v Excelu z imeni atributov v Oraclu?
2. Želim imeti manj atributov kot jih je v Excelu
3. V Oraclu hočem imeti datumska polja v obliki DATE, vendar če to storim, mi pri prenosu iz "character" v Excelu prenese neke default vrednosti v Oracle, nikakor pa ne pravih vrednosti - kako naj mu dodam konverzijo ali kaj podobnega?

Mislim, da bi se vprašanja še našla, vendar naj bo to dovolj vsaj za začetek

Upam, da bo kdo kaj odgovoril

Hvala!

Lp, Damjan

riko
Prispevkov: 444
Pridružen: 25.02.2004 12:40:57

Uporaba komponente SMImport --> ImportFromXLS

Odgovor Napisal/-a riko » 06.11.2005 11:09:36

Po mojem mnenju je mnogo preprostejša rešitev, da shraniš XLS v CSV
in potem lepo prebereš podatke kot tekst iz CSV in jih lepo dodajaš v bazo brez
uporabe komponent.

damjancek
Prispevkov: 4
Pridružen: 04.11.2005 14:47:35

Uporaba komponente SMImport --> ImportFromXLS

Odgovor Napisal/-a damjancek » 06.11.2005 13:38:59

Ja, saj bi bilo res lažje, če bi si lahko privoščil stalne ročne posege...
Ampak datoteka je dnevna in ni variante, da bi jo lahko dobivali v kakšni drugi obliki.
Meni osebno je Excel čisto izhodna datoteka, prirejena za vpogled, ne pa za kkšno prenašanje podatkov sem in tja.
Nucam direkten dostop v Excel in branje podatkov brez spreminjanja v CSV in podobnega.

Morda še kakšna ideja?
Ni imel nihče izkušenj s tem?

riko, hvala ti vseeno
lp

damjancek
Prispevkov: 4
Pridružen: 04.11.2005 14:47:35

Uporaba komponente SMImport --> ImportFromXLS

Odgovor Napisal/-a damjancek » 07.11.2005 13:56:41

Anyone? :(

matej
Prispevkov: 1837
Pridružen: 03.01.2002 20:40:38

Uporaba komponente SMImport --> ImportFromXLS

Odgovor Napisal/-a matej » 07.11.2005 14:31:40

Jaz za branje (pa tudi pisanje) XLS uporabljam komponento xlsreadwrite, ki omogoča delo z excel datotekami, brez da bi imel nameščen excel. Odpreš datoteko, v zanki prebereš in preparsaš podatke, vstaviš v bazo in je. Malo več "programiranja", kot z uporabno smimport komponent, imaš pa vse pod nadzorom in delaš s posameznim podatkom kar želiš.

Matej

damjancek
Prispevkov: 4
Pridružen: 04.11.2005 14:47:35

Uporaba komponente SMImport --> ImportFromXLS

Odgovor Napisal/-a damjancek » 09.11.2005 13:46:01

Na žalost te komponente nimam..
Morda je kdo uporabljal OLE za to?

Je pa res, da ni ravno taprave kontrole nad podatki pri uporabi komponente SMImport... hm..

matej
Prispevkov: 1837
Pridružen: 03.01.2002 20:40:38

Uporaba komponente SMImport --> ImportFromXLS

Odgovor Napisal/-a matej » 09.11.2005 14:02:05

Morda je kdo uporabljal OLE za to?
Seveda lahko uporabiš OLE, samo boš moral na računalniku, kjer to izvajaš, imeti nameščen Excel.

Matej

Odgovori