Egy xls fájlt kell konvertálnom csv-be, a táblázat tartalmaz egy olyan mezőt, melyben hosszú, 10-12 számjegyű egész számok vannak, Arra van szükségem, hogy a csv-ben ezek teljes alakjukban jelenjenek meg, és ne normál formában (tudományos formátum). Arra gondoltam, hogy erre legalkalmasabb, ha szöveg formátumban tárolom. Az xls-ben ez sima ügy, de konvertálás után a csv kizárólag normál formában hajlandó megjeleníteni. Még akkor is, ha itt újra beállítom a szöveg formátumot és elmentem, újbóli megnyitás után már sehol nincs.
Hogyan lehet ezt megoldani?
Köszi
Ha az xls-t kiexportálod cvs-be, és jegyzettömbben nyitod meg újra, akkor láthatod, hogy minden kerek. Amint a csv-t megnyitod excelben a számokat átalakítja, és rosszul menti. Ha kijelölöd azt az oszlopot, amiben a számok vannak akkor csináld ezt:
1. jobb klikk->cellaformázás
2. Szám-> kategória: szám, tizedesjegyek: 0
És ezután mentheted.
De ha újból megnyitod a csv-t, akkor ismét meg kell ezt csinálnod, mert a csv csak egy egyszerű text fájl, a formátumokat nem mentheted el vele.
Tehát a végeredményt mindig jegyzettömbben nézd meg, az a biztos.
Úgy látszik bonyolultabb a helyzet, mert ezt a csv-t fel kell töltenem egy webhelyre, és ott kerül értelmezésre, és ha nem ismeri fel ezt a számot, annak lehet olyan egyszerű oka is, hogy nem szerepel az adatbázisukban, de arról nem informálnak, hogy mi a hiba.
Ettől függetlenül az Excel a csv formátumú fájlok mezőit minden egyes megnyitáskor általánosra állítja, és ennek megfelelően a 11 számnál hosszabbakat normál formában írja ki, bárhogy is mentettem én előzőleg.
Az OpenOffice ugyanezt csinálja a csv-vel, csak szám formátummá alakít mindent, még a szövegeket is (???).
Tehát a kérdés még mindig az lenne, hogy hogyan tudok egy mezőt szövegként elmenteni a csv-ben úgy, hogy az bármely táblázatkezelőben is valóban teljes alakban, és ne normál formában jelenjen meg.
(Viszont az OpenOffice tényleg megjeleníti, csak mentéskor nem őrzi meg a formátumot, de ha jobb ötlet nem lesz, ezt fogom pontozni)
Ha az xls-t kiexportálod cvs-be, és jegyzettömbben nyitod meg újra, akkor láthatod, hogy minden kerek. Amint a csv-t megnyitod excelben a számokat átalakítja, és rosszul menti. Ha kijelölöd azt az oszlopot, amiben a számok vannak akkor csináld ezt:
1. jobb klikk->cellaformázás
2. Szám-> kategória: szám, tizedesjegyek: 0
És ezután mentheted.
De ha újból megnyitod a csv-t, akkor ismét meg kell ezt csinálnod, mert a csv csak egy egyszerű text fájl, a formátumokat nem mentheted el vele.
Tehát a végeredményt mindig jegyzettömbben nézd meg, az a biztos.
Igen, ezt mind végigpróbáltam, láttam a kerekítést is. Végül is megnéztem Jegyzettömbben, csak valahogy nem akartam elhinni, hogy az Excel ennyire impotens.
A lényeg az, hogy a tárolás ezek szerint tényleg a teljes formában történik.
Köszi a segítséget!
nekem az excel automata dátumkonvertálását úgy sikerült kijátszanom, hogy a gép dátumformátumát átállítottam németre, így a 02.01-et nem 2002.januárnak nézte, mert pont helyett kötőjel volt a dátumelválasztó.
beolvasás után pedig visszatettem magyarra a gépet.
mivel a mentéskor számként mentette el, így a későbbiekben magyar dátumformátum mellett is meg lehetett nyitni a fájlt, és nem csinált hülyeséget...