Struktúrált szöveg (csv, txt) importálása

Táblázatkezelő
nyekhere
Hozzászólások: 2
Csatlakozott: 2008. április 23., szerda 18:58

Struktúrált szöveg (csv, txt) importálása

Hozzászólás Szerző: nyekhere »

Sziasztok!

Cégnél próbálnának szabadulni az MS OFFICE-tól. Nagyjából megy is minden. Viszont szükség lenne formázott txt állományok importálására. (Excelben rendszeresen használják). Azt már kiderítettem, hogy itt meg kell adni nyitás előtt, hogy struktúrált szövegként kell megnyitni (asszem Excel esetén *.txt esetében automatikusan bejön a szövegkonvertálós "varászló", mig OO alatt csak akkor, ha struktúrált szövegként olvassuk be.). Viszont innen jönnek a gondok.

1. Az egyes oszlopok formátumát nem tudom megadni, mert legtöbbször váratlan hibával elszáll az OO és újraindul. Ha standard-on hagyom, akkor bejön a táblázat, viszont az esetek többségében az értékeket elrontja, valami oknál fogva valami "szám/dátum hibriddé" (pld. 218.01-12-00 meg ilyenek, ami eredetileg 218.01 volt!) konvertálja. Nekem az kellene, hogy szövegként olvassa be a cellákat (aztán majd utólag majd átformázzuk).

A legjobb, hogy teljesen véletlenszerű, hogy mikor engedi változtatni a formátumot, és mikor száll el. Próbáltam a határoló karaktert is változtatni ( & , #, vagy mezei ; ) de semmi pozitív eredmény.

Annyit gyanítok, hogy lehet, hogy a "tizedespont" sem tetszik neki (régi DOS-os program kimenetéről van szó, ott tizedespont van az értékekben, ezen elég nehéz lenne változtatni, és az EXCEL sem pampogott érte). Így beolvasás után még kell egy kicsit trükközni: . - , csere minden "számot" tartalmazó cellára, majd ujraformázás: szám . Így tökéletesen lehet utána dolgozni a táblázattal OO-ban. És ez a kis konverzió még nem is jelentene problémát, mert józan paraszti ésszel meg lehet csinálni. A gond akkor jön, amikor a fenti "konverziót" csinálja, mert azzal bármit csinálok (eddig) sosem kaptam vissza az eredeti 218,01 értéket.
Amikor néha sikerült a standart tipust szövegre állítanom, akkor nincs semmi gond, de az esetek 95%-ban elszáll.

OpenOffice 2.4 fut a gépeken, Windows környezetben (XP, 98 SE HUN). Másnak is van ilyen gondja? (Jelentkezik a hiba?) Illetve be lehet valahol állítani, hogy pld. ne standard legyen az alapértelmezett cellaformátum beolvasáskor?

Előre is köszönöm!

(majd megpróbálok példát is berakni ide, ha sikerül, meg addig is küzdök vele. És nem tudom, hogy jó helyen kérdeztem-e)
Avatar
charlie
Önkéntesek
Hozzászólások: 80
Csatlakozott: 2008. március 5., szerda 14:04
Kapcsolat:

Re: Struktúrált szöveg (csv, txt) importálása

Hozzászólás Szerző: charlie »

Tudnal egy ilyen csv-t kuldeni? Elég sok csv-t importalok-exportalok, de még nem futottam bele ilyenbe
Avatar
r4zoli
Site Admin
Hozzászólások: 850
Csatlakozott: 2008. február 17., vasárnap 4:52
Tartózkodási hely: Budapest

Re: Struktúrált szöveg (csv, txt) importálása

Hozzászólás Szerző: r4zoli »

A tizedes pont problémát úgy lehet negoldani, hogy az Eszközök>Beállítások>Nyelvi beállításo>Nyelvek alatta területi beállításokat olyan helyre állítod ahol a tizedespont az elválasztó pl. USA vagy Ausztrália.
Így importálod a csodás DOS-os dolgaidat, elmented, bezárod.
Majd visszaállítod Alapértelmezettre a területi beállításokat, és megnyitod mindenhol ahol tizedes pont volt automatikusan tizedes vessző lesz.
Lehet, hogy ezzel a minden problémád megoldódik.
Olvasd el, és lehetőleg tartsd be az útmutatót a fórum használatához.
AOO 3.4.1 win7, LibO 4.0 win7.
nyekhere
Hozzászólások: 2
Csatlakozott: 2008. április 23., szerda 18:58

Re: Struktúrált szöveg (csv, txt) importálása

Hozzászólás Szerző: nyekhere »

r4zoli írta:A tizedes pont problémát úgy lehet negoldani, hogy az Eszközök>Beállítások>Nyelvi beállításo>Nyelvek alatta területi beállításokat olyan helyre állítod ahol a tizedespont az elválasztó pl. USA vagy Ausztrália.
Így importálod a csodás DOS-os dolgaidat, elmented, bezárod.
Majd visszaállítod Alapértelmezettre a területi beállításokat, és megnyitod mindenhol ahol tizedes pont volt automatikusan tizedes vessző lesz.
Lehet, hogy ezzel a minden problémád megoldódik.
Köszi szépen! Ezzel a megoldással tényleg működik, így nem kell utólag semmit sem formázni/cserélni. Ha már arra jártam, akkor a nyelvi beállításoknál próbálkoztam a Tizedes jel (megegyezik....) ki-be kapcsolásával, de az sajnos egymagában nem volt elég.

Az "előnézeti ablak"-ra kattintás változatlanul tönkrevágja az OO-t, függetlenül a nyelvi beállításoktól.

Megpróbálok beszúrni ide egy mintafile tartalmat, remélme a c_ode tag beválik. A legutolsó sorban egy chr(12) - lapdobás van - igaz nem látszik, de a működést nem befolyásolja, akár ott van, akár nincs ugyanúgy viselkedik. Az elválasztó a & , (bár ez gondolom látszik :) )
Az utolsó oszlop értékeit rontja el, de nem azért mert utolsó, közbenső értékekkel is csinálja más tartalom esetén.
Érdekes, hogy a fejlécet viszont korrekten lekezeli. Próbáltam fejléc nélkül beolvastatni (2. sortól), de akkor is ugyanúgy viselkedett.
Aki gondolja szórakozhat vele, illetve én is kíváncsi vagyok, hogy másnál mi az eredmény.

Kód: Egész kijelölése

  Cikkszám      &     Megnevezés                     &N.Elad.érték&  Menny.  &Me&Ért.besz.áron
 0003            &3. TEST                             &     -2160.0&    -6.00 &DB&     -1860.0 
 1233022         &Protector csótány                   &       597.0&     2.00 &DB&       584.7 
 1750095         &Hammer lapító                       &    106890.0&     3.00 &DB&      1064.3 
 17AA356         &Hammer kl.barna 0,33l MAX           &       483.0&     1.00 &DB&       597.4 
 2010047         & Dallamos Üvegmosó                  &       672.0&     4.00 &DB&       577.9 
 5540059         & D/A sárkefe,fatesttel              &    113940.0&     3.00 &DB&       544.4 
 2250007         &Fagyálló koncenrt 10l               &      6990.0&     3.00 &DB&      6240.0 
 mentes          &mentes vacak                        &     99000.0&     1.00 &DB&         0.0 
 f
Köszönöm mégegyszer!
Avatar
g_123_wert
Önkéntesek
Hozzászólások: 71
Csatlakozott: 2008. február 29., péntek 21:58

Re: Struktúrált szöveg (csv, txt) importálása

Hozzászólás Szerző: g_123_wert »

Na, én szórakoztam vele (csatolom). Nem omlott össze importkor, meg tudtam adni a fejléceknek, hogy szöveg legyen(Winfos Xp Home sp2,OOo 2.3.0 Fsf.hu build) . Nekem egy másik megoldásom van a . problémára. Mivel nagyon sokszor kell DOS -os könyvelőprogramból importálnom és csak az OOo képes kezelni a DOS 852 -es kódlapot, ezért írtam függvényt ami a pontot vesszőre cseréli és az ezresvesszőket kiveszi ( mert a könyvelő program így adja meg: 1,000.00 ) a többit meg úgy hagyja. Az a titka a dolognak, hogy minden mezőt szövegként importálok amit számot tartalmaz arra külön oszlopban ráeresztem ezt =Value(trim(ert(cella))) majd az értéket visszamásolom az eredeti helyre és onnan kezdve számom van amit már lehet összeadni meg részösszesíteni stb. Alább a függvény:

function ert(szoveg) as string
dim akku as string
dim i as integer
i=1
akku=""
do while i<=len(szoveg)
If Mid(szoveg, i, 1) <> "," Then
If Mid(szoveg, i, 1) = "." then
akku = akku + ","
Else
akku = akku + Mid(szoveg, i, 1)
End If
End If
i = i + 1
Loop
ert = akku
end function
Csatolmányok
proba.ods
Az importált CSV
(11.2 KiB) Letöltve 224 alkalommal.
Ms Windows XP • 3.0.X • Ubuntu 7.x
Válasz küldése