Kuidas XLSX-ist saab JSON – ülevaade
Lehel „Excelist JSON-iks” laadite üles Exceli faili (XLSX-vormingus) ja saate alla JSON-faili, mis sisaldab esimese töölehe andmeid struktureeritud tabelina. Kogu teisendus toimub teie brauseris – midagi ei laadita üles ühelegi serverile. See eristab seda tööriista pilvepõhistest konverteritest, kus failid tuleb usaldada kolmandale osapoolele.
XLSX-i teisendamine JSON-iks ei ole sama mis teisendamine CSV-ks. XLSX-fail on tihendatud XML- töövihik, mis võib sisaldada mitut töölehte, erinevaid lahtritüüpe (tekst, arv, kuupäev, tõeväärtus), valemeid ja rikkalikku vormindust. JSON on seevastu tüpiseeritud ja pesastatav formaat – see toetab objekte, massiive, numbreid, tõeväärtusi ja nulli. Seega saab XLSX-ist JSON-i teisendamisel numbrilisi ja tõeväärtuslikke lahtriväärtusi hoida tüpiseeritud JSON-väärtustena (mitte sunnitud jutumärkides stringidena). Lahtrite vormindus, valemid (mida ei arvutata) ja kõik andmed väljaspool esimest töölehte heidetakse kõrvale.
Näide: kui Exceli lahtris A1 on number 42 ja lahtris B1 tekst "42", siis JSON-is ilmub esimene arvuna (ilma jutumärkideta), teine stringina. CSV-s oleks mõlemad muudetud tekstiks.
Andmetüüpide säilimine: arvud, tõeväärtused ja kuupäevad
XLSX-failis salvestatakse iga lahter koos oma tüübiga: number, tekst, tõeväärtus (TRUE/FALSE), kuupäev, tühi vms. JSON suudab neid tüüpe otseselt esitada.
Tööriist kaardistab need järgmiselt:
| Exceli lahtri tüüp | JSON-i tüüp | Näide |
|---|---|---|
| Number (integer or float) | JSON number | 42, 3.1415, -7.99e2 |
| Boolean | JSON boolean | true või false |
| Date / DateTime | ISO 8601 string | "2023-08-15T14:30:00.000Z" |
| Shared string / inline text | JSON string | "Quarterly Report" |
| Empty cell | Empty string "" |
(nothing) |
| Error | JSON string | "#DIV/0!" |
Kuupäevade puhul: Excel salvestab kuupäevad seerianumbritena (päevade arv alates 1. jaanuarist 1900). Tööriist teisendab need ISO 8601 kuupäevastringideks, näiteks "2023-08-15T00:00:00.000Z". Kui vajate teistsugust vormingut, peate JSON-i järeltöötlema. Sama kehtib protsentide ja valuutade kohta – need salvestatakse XLSX-is numbritena, seega muutuvad need JSON-is numbritena. Protsentväärtus 12,5% kuvatakse kui 0,125, mitte "12,5%". Tööriist ei säilita aluseks olevat vormingumaski; see loeb ainult salvestatud numbrilist väärtust.
Tõeväärtused on eriti olulised, sest CSV-s muutuksid need alati tekstiks "TRUE" või "FALSE", samas kui JSON võimaldab neid kasutada loogiliste väärtustena API-des ja programmeerimiskeeltes.
Miks valemeid ei arvutata ja vormindamine kaob
XLSX-failid võivad sisaldada valemeid, mis arvutavad väärtusi teiste lahtrite põhjal. Tööriist loeb ainult salvestatud väärtust – seda, mis Excelis salvestati viimati kui valemi tulemus. Valemeid ennast ei arvutata uuesti, sest brauseripõhine konverter ei käivita Exceli arvutusmootorit. Seega kui teil on valem =A1+B1 ja A1 on 2, B1 3, siis tulemuseks on 5 – aga ainult juhul, kui see väärtus on failis olemas. Kui lahtris on valem, kuid tulemust pole salvestatud (nt puuduv sõltuvus), kasutab väljund JSON aegunud vahemällu salvestatud tulemust. See on XLSX-vormingu enda piirang – teisendustööriist ei saa Exceli arvutusmootorit uuesti käivitada.
Lahtrite vormindus – fondid, värvid, täitemustrid, äärised, veergude laiused, ridade kõrgused – kaob täielikult. JSON ei toeta stiile; see on puhtalt andmesisu formaat. Ühendatud lahtrid säilitavad ainult oma vasakpoolse ülemise väärtuse; ülejäänud ühendatud lahtrid muutuvad tühjadeks stringideks. Kui teie arvutustabel tugineb päiste jaoks ühendatud lahtritele, võite väljundis näha tühje lahtreid esimestes veergudes.
Piirangud: ainult esimene tööleht, faili suurus, rea- ja veerupiirid
Tööriist loeb ainult esimest töölehte XLSX-failist. Kui teie failis on mitu lehte, peate teisendama need eraldi või kasutama muid vahendeid. See on teadlik piirang, sest enamikul juhtudel on vajalikud andmed just esimesel lehel.
Teisendamisele kehtivad faili suuruse, ridade ja veergude arvu piirangud:
- Faili suurus on maksimaalselt 8 MB. Kui fail on suurem, kuvatakse tõrketeade: “This file is too large. Use a file under ‹max›.”
- Tabelis on maksimaalselt 10 000 rida ja 200 veergu.
- Teisendus, mis kestab kauem kui umbes 12 sekundit, peatatakse teatega “See teisendus võtab liiga kaua aega. Proovige väiksemat faili.”
Need piirid tagavad, et teisendus ei võta brauseris liiga kaua aega.
Privaatsus: teisendus toimub brauseris
See on üks olulisemaid erinevusi võrreldes paljude veebipõhiste konverteritega. Kui te laadite XLSX-faili brauserisse, siis tööriist loeb selle täielikult teie arvutis. Ühtegi lahtriandmet ei edastata kuhugi serverisse. See tähendab, et tundlikud andmed – isikuandmed, finantsandmed, ärisaladused – jäävad teie kontrolli alla.
Brauser parsib töövihiku – ZIP-paketi XML-osadest – ja kirjutab teisendatud väljundi teie seadmesse. Kogu protsess on võrguühenduseta (pärast lehe laadimist) ja ei tekita serverile päringuid. See vähendab ka riski, et keegi kolmas pääseb teie failile juurde.
Muidugi tuleb meeles pidada, et brauseri privaatsuse tagab vastav brauseri turbemudel – kui te kasutate avalikku arvutit, võivad ajutised failid jääda mällu. Kuid üldine põhimõte on, et andmed ei lahku teie seadmest.
Levinud vead ja tõrketeated
Tööriist annab selged tõrketeated, mis aitavad vigu kiiresti tuvastada:
| Tõrge | Tõenäoline põhjus |
|---|---|
| “Seda Exceli faili ei saanud avada.” | XLSX-fail on rikutud, ei ole tegelikult ZIP-arhiiv või rikub OOXML-spetsifikatsiooni. |
| “Selles failis pole tabeli ridu.” | Esimesel töölehel pole andmeid (tühi leht). |
| “This file is too large. Use a file under ‹max›.” | Fail ületab 8 MB mahupiiri. |
| “Palun valige CSV-, JSON- või XLSX-fail.” | Valitud fail ei ole CSV-, JSON- ega XLSX-fail. |
| “Seda faili ei saanud teisendada.” | Ootamatu viga, mis ei vasta spetsiifilisemale veale. |
| “Teisendamine tühistati.” | Kasutaja tühistas teisenduse, näiteks tühjendades valitud faili selle töötamise ajal. |
| “See teisendus võtab liiga kaua aega. Proovige väiksemat faili.” | Teisendus ületas umbes 12-sekundilise piirangu, tavaliselt seetõttu, et töövihik on väga suur. |
Enim tekitab segadust tühi tabeliridade tõrge – kui esimene tööleht sisaldab ainult päiseid, aga mitte ühtegi andmerida, teisendub see tühjaks massiiviks (``).
FAQ (Korduma Kippuvad Küsimused)
1. Kas ma saan teisendada andmed kõigilt töölehtedelt korraga? Ei, tööriist loeb ainult esimest töölehte. Kui vajate andmeid teiselt lehelt, peate selle enne üleslaadimist Excelis esimesele kohale teisaldama või kasutama tööriista, mis toetab lehe valikut.
2. Miks mu kuupäevad muutuvad arvudeks või valedeks stringideks?
Exceli kuupäevad on salvestatud seerianumbritena. Tööriist teisendab need ISO 8601 stringideks (nt "2023-08-15T00:00:00.000Z"). Algne Exceli vormingumask hüljatakse. Kui vajate kindlat kuupäevavormingut, peate ISO stringi järeltöötlema.
3. Kas tohiks kasutada seda konverterit tundlike andmetega? Jah, sest teisendus toimub ainult teie brauseris. Ühtegi andmet ei saadeta serverisse. Siiski olge ettevaatlik avalikes arvutites – brauseri ajutised failid võivad jääda mällu.
4. Miks mu valemid ei anna õiget tulemust? Tööriist loeb ainult valemi viimati salvestatud väärtust, mitte ei arvuta valemit uuesti. Kui Exceli failis on valem, kuid selle tulemust pole salvestatud (nt fail avati ja salvestati ilma muudatusteta), kasutab väljund JSON aegunud vahemällu salvestatud tulemust. Kui vajate arvutatud tulemust, avage fail Excelis, salvestage see (mis käivitab ümberarvutamise) ja seejärel teisendage salvestatud fail.
5. Kas ma saan teisendada ka muid Exceli vorminguid (XLS, XLSM)? Tööriist toetab ainult XLSX-faile. XLS (vanem binaarformaat) või XLSM (makrodega) ei pruugi töötada. Soovitame need esmalt salvestada XLSX-iks.
6. Mida teha, kui saan veateate “This file is too large”? Vähendage faili suurust – eemaldage mittevajalikud töölehed, tühjendage vormindus või kustutage mittevajalikud read/veerud. Failid on piiratud 8 MB-ga. Kui fail on tõesti suur, kaaluge selle jagamist mitmeks väiksemaks failiks.