Banko išrašas, el. parduotuvės užsakymai, eksportas iš apskaitos programos. Dažnai jie atkeliauja CSV failu, o atidarius jį Excel vietoje „Šiaulių“ matote „Å iaulių“, visi duomenys sugrūsti į A stulpelį, o prekių kodai neteko nulių priekyje. Failas nesugedęs. Excel tiesiog spėjo, kaip jį skaityti, ir neatspėjo.
Kodėl taip nutinka
CSV yra paprastas tekstinis failas. Jame nėra informacijos, kokia koduote įrašytos raidės ir kokiu ženklu atskirti stulpeliai. Kai failą atidarote dukart spustelėję, Excel tai nusprendžia pats:
- Raidės. Naujesnės sistemos raides įrašo UTF-8 koduote, o Excel tokį failą dažnai skaito sena Windows koduote. Tada „ą“ virsta „Ä…“, „ų“ virsta „ų“. Atvirkščiai, kai senas eksportas įrašytas Windows-1257 koduote, o skaitomas kaip UTF-8, raidžių vietoje atsiranda „�“.
- Stulpeliai. Excel stulpelius skiria tuo ženklu, kuris nurodytas Windows regiono nustatymuose. Lietuviškuose nustatymuose tai kabliataškis, nes kablelis skiria dešimtąsias. Jei failas atskirtas kableliais, visa eilutė patenka į vieną stulpelį.
- Skaičiai. Excel bando paversti skaičiumi viską, kas į jį panašu. Kodas 00123 tampa 123, o ilgas brūkšninis kodas virsta 4,77E+12.
Teisingas būdas: Data → From Text/CSV
Atidarykite tuščią Excel failą ir pasirinkite Data → From Text/CSV (lietuviškame Excel: Duomenys → Iš teksto/CSV). Pasirinkite failą. Atsidarys peržiūros langas su trimis nustatymais viršuje:
- File Origin (failo kilmė). Jei peržiūroje raidės sugadintos, pakeiskite koduotę. Dažniausiai tinka 65001: Unicode (UTF-8), senesniems eksportams 1257: Baltic (Windows). Keiskite, kol peržiūroje „Šiauliai“ atrodys kaip Šiauliai.
- Delimiter (skirtukas). Kabliataškis, kablelis ar tabuliacija. Teisingą atpažinsite iš to, kad peržiūroje duomenys išsidėsto į stulpelius.
- Data Type Detection. Jei faile yra kodų su nuliais priekyje ar ilgų numerių, pasirinkite Do not detect data types. Tada visi stulpeliai bus tekstas, o skaičius paversite skaičiais patys.
Paspaudus Load duomenys įkeliami kaip lentelė. Jei reikia daugiau valdymo, rinkitės Transform Data: atsidarys Power Query, kur kiekvienam stulpeliui galima nustatyti tipą atskirai.
Šis būdas veikia Excel 2016 ir naujesnėse versijose. Senesnėse tą patį daro Text Import Wizard (Data → From Text), kuriame koduotė ir skirtukas pasirenkami pirmame ir antrame žingsnyje.
Kai failas jau atidarytas ir viskas viename stulpelyje
Jei raidės teisingos, o bėda tik stulpeliai, nebūtina importuoti iš naujo. Pažymėkite A stulpelį ir pasirinkite Data → Text to Columns, tada Delimited ir pažymėkite skirtuką, kuris naudojamas faile.
Jei skaičiai faile užrašyti su tašku, pavyzdžiui 12.50, lietuviškas Excel jų neatpažins kaip skaičių. Trečiame Text to Columns žingsnyje paspauskite Advanced ir nurodykite, kad dešimtųjų skirtukas yra taškas. Power Query tą patį daro per stulpelio tipą Using Locale, pasirinkus English (United States).
Nuliai priekyje ir ilgi numeriai
Excel skaičius saugo 15 reikšminių skaitmenų tikslumu. Ilgesnio numerio paskutiniai skaitmenys tampa nuliais, ir to nebeatitaisysite, nes originalios reikšmės faile nebeliko. Todėl prekių kodus, brūkšninius kodus, sąskaitų numerius ir kitus identifikatorius visada importuokite kaip tekstą.
Kodai su nuliais priekyje, pavyzdžiui 00123, irgi turi būti tekstas. Jei juos reikia lyginti su kita lentele, kur tas pats kodas įrašytas kaip skaičius, paieška nesuveiks. Kaip tai atpažinti ir pataisyti, rašiau straipsnyje apie tai, kodėl Excel nesumuoja skaičių ir neatpažįsta datų.
Datos
Data 03/04/2026 gali būti kovo 4-oji arba balandžio 3-ioji. Excel ją perskaitys pagal jūsų regiono nustatymus, ir jei failas sukurtas kitoje šalyje, dalis datų taps neteisingomis, o dalis liks tekstu. Power Query datos stulpeliui nustatykite tipą Using Locale ir pasirinkite tą šalį, kurios formatu įrašytos datos. Tada patikrinkite kelias eilutes, kuriose diena didesnė nei 12: jose klaida matosi iškart.
Kaip išsaugoti CSV, kad jis nesugestų
Pasirinkite File → Save As ir failo tipą CSV UTF-8 (Comma delimited). Paprastas CSV (Comma delimited) raides įrašo sena Windows koduote, ir sistema, kuri tikisi UTF-8, jas sugadins.
Stulpelių skirtukui Excel naudoja tą patį regiono nustatymą, todėl lietuviškame Windows vietoje kablelių dažnai bus kabliataškiai, nors tipo pavadinime parašyta „Comma“. Jei sistema, į kurią keliate failą, reikalauja kablelių, atidarykite išsaugotą failą Notepad programa ir pažiūrėkite, kokiu ženklu atskirti stulpeliai.
Excel faile išsaugotos tik reikšmės: formulės, keli lapai ir formatavimas į CSV nepatenka.
Google Sheets
Google Sheets CSV failą įkelsite per File → Import. Skirtuką galima palikti atpažinti automatiškai arba nurodyti patiems. Jei kodai turi nuliais prasidedančių reikšmių, nuimkite varnelę Convert text to numbers, dates, and formulas. Sheets UTF-8 failus skaito teisingai, o su Windows-1257 koduotės failu raidės gali sugesti. Tada failą verta pirma atsidaryti Excel ir išsaugoti kaip CSV UTF-8.
Kai tas pats CSV ateina kas savaitę
Jei kas savaitę importuojate tą patį eksportą ir kartojate tuos pačius žingsnius, verta tai padaryti vieną kartą su Power Query. Importavimo nustatymai išsaugomi užklausoje, todėl kitą savaitę užtenka pakeisti failą ir paspausti Refresh. Kaip sukurti tokią ataskaitą, aprašiau straipsnyje Power Query: ataskaita, kuri atsinaujina vienu paspaudimu.
