Excel į JSON konverteris

Konvertuokite Excel į JSON internetu – nemokamai, akimirksniu ir privačiai. Jūsų failas apdorojamas jūsų naršyklėje ir niekada niekur neįkeliamas.

Rezultatas

Konvertuoti failai ir peržiūra pasirodys čia.

Pasiruošta. Pasirinkite lentelės failą, kurį norite konvertuoti.

Kaip veikia konvertavimas

  • Pirmoji eilutė nuskaitoma kaip antraštė – jos langeliai tampa JSON laukų pavadinimais, o kiekviena sekanti eilutė tampa vienu objektu.
  • Nuskaitomas tik pirmasis skaičiuoklės lapas.

Jūsų lentelės failas konvertuojamas jūsų naršyklėje. Nieko neperduodama į BroBroGo serverius.

DUK

Kaip konvertuoti Excel į JSON?

Įkelkite savo Excel failą ir spustelėkite „Konvertuoti“ – JSON failas bus paruoštas atsisiųsti per kelias sekundes kartu su rezultato peržiūra. Viskas veikia jūsų įrenginyje.

Kokio dydžio failą galiu konvertuoti?

Iki 8 MB, 10 000 eilučių ir 200 stulpelių viename faile. Didesnius duomenų rinkinius prieš konvertuojant geriausia padalyti į mažesnius failus.

Kas šiame puslapyje atliekama

Įkeliate Excel failą (XLSX) ir atsisiunčiate JSON failą, kuriame yra struktūrizuota pirmojo darbalapio lentelė. Konversija vyksta tik jūsų naršyklėje – niekas neįkeliama į jokį serverį. Tai reiškia, kad jūsų duomenys niekada nepalieka jūsų kompiuterio. Rezultatas – grynas JSON, paruoštas naudoti API, priekinės dalies programose ar tolesniam apdorojimui.

Šis įrankis nuskaito tik pirmąjį XLSX failo darbalapį. Ištraukia matomas reikšmes ir įrašo jas kaip JSON objektų masyvą. Pirmasis darbalapio stulpelis tampa objekto raktais (pasikartojanti antraštė gauna _2, _3 priesagą); kiekviena paskesnė eilutė tampa vienu objektu. Kadangi konversija išsaugo originalius langelių tipus, išvesties JSON gali būti tiesiogiai naudojamas JavaScript kode, REST API arba bet kurioje programoje, kuri tikisi tipizuotų duomenų. Jums nereikia konvertuoti eilučių atgal į skaičius ar atlikti tiesos patikrinimo „FALSE“ – įrankis tai padaro už jus.

Visa konversija vykdoma jūsų naršyklėje. Jūsų naršyklė analizuoja darbaknygę – ZIP paketą, sudarytą iš XML dalių – ir įrašo konvertuotą išvestį jūsų įrenginyje. Į serverį nesiunčiami jokie baitai. Tai turi dvi pasekmes:

  1. Privatumas: jei jūsų XLSX faile yra slaptų duomenų – darbuotojų atlyginimų, klientų kontaktų sąrašų, finansinių prognozių – jie niekada nepalieka jūsų kompiuterio. Nėra įkėlimo žingsnio, kurį būtų galima registruoti ar audituoti.
  2. Greitis: failams, neviršijantiems dydžio limito, konversija baigiama per kelias sekundes. Nėra tinklo vėlavimo.

Kompromisas yra tas, kad naršyklės atmintis ir apdorojimo galia nustato ribą. Įrankis taiko griežtus apribojimus: ne daugiau kaip 8 MB vienam failui, ne daugiau kaip 10 000 eilučių ir 200 stulpelių vienai lentelei. Jei viršijama bet kuri riba, konversija sustabdoma ir parodoma atitinkama klaida. Konversija, trunkanti ilgiau nei maždaug 12 sekundžių, taip pat sustabdoma su pranešimu „Ši konversija užtrunka per ilgai. Pabandykite mažesnį failą.“

Įrankis rodo konkrečius klaidų pranešimus žinomais gedimų atvejais:

  • „Pasirinkite CSV, JSON arba XLSX failą.“ – pasirinktas failas nėra CSV, JSON arba XLSX failas.
  • „Šio Excel failo nepavyko atidaryti.“ – XLSX failas yra sugadintas, iš tikrųjų nėra ZIP archyvas arba pažeidžia OOXML specifikaciją.
  • „Šiame faile nėra lentelės eilučių.“ – pirmasis darbalapis yra visiškai tuščias. Lapas, kuriame yra tik antraštės eilutė, nėra klaida: jis konvertuojamas į tuščią masyvą (``).
  • „Šis failas per didelis. Naudokite failą, mažesnį nei ‹max›.“ – failo baitų dydis viršija 8 MB limitą.
  • „Nepavyko konvertuoti šio failo.“ – netikėtas gedimas, neatitinkantis konkretesnės klaidos.
  • „Konversija atšaukta.“ – atšaukėte konversiją, pavyzdžiui, išvalydami pasirinktą failą, kol ji vyko.
  • „Ši konversija užtrunka per ilgai. Pabandykite mažesnį failą.“ – konversija viršijo maždaug 12 sekundžių limitą, dažniausiai dėl to, kad darbaknygė yra labai didelė.

Jei matote „per didelis“ arba „per ilgas“ klaidas, vienintelis būdas yra sumažinti eilučių ar stulpelių skaičių. Dažnai padeda XLSX padalijimas į mažesnius failus ir kiekvieno atskiras konvertavimas.

Kuo šis puslapis skiriasi nuo įprasto konvertavimo

XLSX konvertavimas į JSON nėra tas pats, kas konvertavimas į CSV. XLSX failas yra suspaustas XML darbaknygė, galinti turėti kelis lapus, ląstelių tipus (tekstą, skaičių, datą, loginę reikšmę), formules ir išsamų formatavimą. JSON, priešingai, yra tipizuotas, įdėtinės struktūros formatas – jis palaiko objektus, masyvus, skaičius, logines reikšmes ir null. Tai reiškia, kad konvertuojant iš XLSX į JSON, skaitinės ir loginės ląstelių reikšmės išsaugomos kaip tipizuotos JSON reikšmės, o ne perrašomos į kabutėse esančias eilutes, kaip dažnai nutinka CSV formate. CSV kiekvieną eilutę išlygina į paprastą tekstinę eilutę, o JSON gali pavaizduoti lentelės struktūrą kaip objektų masyvą, išlaikant stulpelių pavadinimus kaip raktus.

Tačiau svarbu suprasti, kad šaltinio lentelė yra plokščia – XLSX lentelėje nėra hierarchijos, todėl įdėtinės JSON struktūros nėra kuriamos automatiškai. Kiekviena Excel eilutė tampa vienu JSON objektu, o kiekvienas stulpelis – objekto savybe. Ląstelių formatavimas, formulės (kurios nėra apskaičiuojamos) ir bet kokie duomenys, esantys už pirmojo darbalapio ribų, yra atmetami.

Kas yra XLSX failo viduje

XLSX formatas yra ISO / IEC 29500 standarto dalis. Tai suspaustas ZIP archyvas, kuriame yra keletas XML failų. Pagrindiniai vidiniai failai yra:

Failas Turinys
[Content_Types].xml Apibrėžia failų tipus ir MIME tipus
_rels/.rels Pagrindiniai ryšiai tarp failų
xl/workbook.xml Darbaknygės aprašymas: lapai, pavadinimai
xl/_rels/workbook.xml.rels Darbaknygės ryšiai su lapais ir stiliumi
xl/worksheets/sheet1.xml Pirmojo darbalapio duomenys (ląstelės, jų pozicijos, reikšmės)
xl/styles.xml Stilių aprašymai (šriftai, spalvos, kraštinės)
xl/sharedStrings.xml Bendrinamos tekstinės eilutės, naudojamos visoje darbaknygėje

Kai konvertuojate, naršyklė išpakuoja ZIP archyvą ir nuskaito xl/worksheets/sheet1.xml. Ląstelių tipai yra nurodyti t atributuose: s (bendrinama eilutė), n (skaičius), b (loginė reikšmė), e (klaida). Jei ląstelėje yra formulė, XML turi ir <f> elementą, ir <v> elementą – bet <v> yra paskutinį kartą išsaugota reikšmė, o ne apskaičiuotas rezultatas. Šis įrankis naudoja tik tą išsaugotą reikšmę, nes formulės nevykdomos.

Kaip ląstelių tipai atvaizduojami JSON

Excel ląstelė gali turėti vieną iš šių tipų. Konvertavimo metu jie atvaizduojami taip:

  • Skaičius: Excel skaitinė reikšmė tampa JSON number reikšme. Pavyzdžiui, 123.45 lieka 123.45. Nesusidaro stringas su kabutėmis.
  • Loginė reikšmė: Excel TRUE arba FALSE tampa JSON true arba false (be kabučių). Tai priešingai nei CSV, kuris dažnai rašo TRUE kaip eilutę.
  • Data: Excel datos yra išsaugotos kaip serijiniai skaičiai (pvz., 45000). Konvertavimo metu šios reikšmės paverčiamos ISO 8601 formato eilutėmis, pvz., "2023-08-15T00:00:00.000Z".
  • Tekstas: Eilutė tampa JSON string reikšme su kabutėmis.
  • Tuščia ląstelė: JSON reprezentacijoje tuščia ląstelė tampa tuščia eilute "".
  • Klaidos: Excel klaidų reikšmės (pvz., #DIV/0!) yra konvertuojamos į eilutes, nes JSON neteikia klaidų tipo.

Ši tipų išsaugojimo savybė yra svarbi, kai dirbate su duomenimis, kur vėliau reikės atlikti aritmetinius veiksmus. Jei naudosite CSV, skaičiai gali būti interpretuojami kaip eilutės, sukeldami klaidų.

Kodėl formulės prarandamos ir kaip tai paveikia rezultatą

Formulės yra XLSX esmė – jos leidžia atlikti dinaminius skaičiavimus. Tačiau konvertuojant į JSON, jos prarandamos. Priežastis paprasta: JSON yra duomenų formatas, o ne skaičiavimo variklis. Kai Excel faile yra formulė, pvz., =A1+B1, jos rezultatas yra išsaugotas langelyje kaip paprastas skaičius (jei failas buvo išsaugotas). Konvertuojant, naudojama ši išsaugota reikšmė, o ne pati formulė.

Tai reiškia, kad jei pakeisite A1 ar B1 reikšmę po konvertavimo, JSON failas neatsinaujins. Konvertavimas yra vienkartinis momentinis vaizdas. Pavyzdžiui, jei Excel faile yra:

A1: 10
B1: 20
C1: =A1+B1 (rezultatas: 30)

Konvertuotas JSON bus:

{
  "A": 10,
  "B": 20,
  "C": 30
}

Formulė =A1+B1 nėra išsaugota. Tai gali būti problema, jei tikėjotės dinaminės nuorodos. Sprendimas: prieš konvertavimą apskaičiuokite visas formules Excel ir išsaugokite failą. Tada konvertavus, reikšmės bus teisingos.

Pirmojo darbalapio apribojimas ir dažnos klaidos

Įrankis nuskaito tik pirmąjį darbalapį. Jei jūsų Excel darbaknygėje yra keli lapai (pvz., "Mėnuo1", "Mėnuo2", "Mėnuo3"), tik "Mėnuo1" bus konvertuotas. Jei reikia kitų lapų, juos reikia konvertuoti atskirai. Paprasčiausias būdas: nukopijuokite kiekvieną lapą į atskirą XLSX failą ir konvertuokite juos po vieną.

Kitos dažnos klaidos, susijusios su šiuo apribojimu:

  • Sujungtos ląstelės: Jei pirmame darbalapyje yra sujungtų ląstelių, paprastai tik viršutinė kairioji ląstelė turi reikšmę; kitos yra tuščios. JSON rezultatas gali turėti tuščias reikšmes arba null tose pozicijose.
  • Tuščios eilutės: Jei pirmame darbalapyje yra visiškai tuščių eilučių, jos bus praleistos. Jei eilutėje yra tik keli stulpeliai su duomenimis, o kiti tušti, JSON objekte tie stulpeliai gali būti praleisti arba turėti null.
  • Paslėpti stulpeliai: XLSX gali turėti paslėptų stulpelių. Jie vis tiek bus konvertuoti į JSON. Tai gali būti netikėta, jei manote, kad paslėpti stulpeliai nėra svarbūs.
  • Antraštės per kelias eilutes: Jei lentelės antraštė apima dvi eilutes (pvz., viršutinė eilutė su kategorijomis, antra su pavadinimais), JSON antraštės raktai bus paimti iš pirmosios eilutės, o antra eilutė bus interpretuojama kaip duomenų eilutė. Tai gali sukurti neteisingą JSON struktūrą.

Klaidų pranešimai, kuriuos galite pamatyti:

  • "This Excel file could not be opened." – failas sugadintas arba netinkamo formato.
  • "This file has no table rows." – pirmame darbalapyje nėra duomenų.
  • "This file is too large. Use a file under 8 MB." – failo dydis viršija leistiną ribą.
  • "Could not convert this file." – bendra konversijos klaida.
  • "Conversion cancelled." – vartotojas nutraukė veiksmą.
  • "This conversion is taking too long. Try a smaller file." – konversija trunka per ilgai.

Apdorojimas kliento pusėje ir privatumas

Šis įrankis visiškai veikia jūsų naršyklėje. Tai yra esminis saugumo ir privatumo privalumas. Įkelto XLSX failo turinys niekada neperduodamas į serverį – jis nuskaitomas ir apdorojamas tiesiog jūsų kompiuteryje. Tai reiškia, kad net jautrūs duomenys, pvz., finansinės ataskaitos, asmens duomenys ar verslo paslaptys, lieka visiškai saugūs.

Naršyklė nuskaito failą ir apdoroja jo turinį. Kiekviena ląstelė yra identifikuojama pagal jos r atributą (pvz., A1, B2), ir reikšmės išgaunamos iš atitinkamų XML elementų.

Po konversijos galite peržiūrėti JSON rezultatą tiesiog puslapyje. Pateikiama preliminari informacija: eilučių skaičius, stulpelių skaičius ir JSON failo dydis. Tai leidžia greitai patikrinti, ar konversija buvo sėkminga, ir ar duomenys atrodo teisingai.

DUK

Ar galiu konvertuoti XLS failą (senesnį Excel formatą)? Ne, šis įrankis palaiko tik XLSX (Office Open XML) formatą. XLS failai yra senesnio dvejetainio formato. Prieš konvertuodami, išsaugokite failą kaip XLSX (Excel 2007 ir naujesnės versijos).

Ką daryti, jei pirmame darbalapyje yra tik antraštės, o duomenys kituose lapuose? Tokiu atveju įrankis parodys klaidą "This file has no table rows." Turite perkelti duomenis į pirmąjį darbalapį.

Ar JSON failas gali būti didesnis už originalų XLSX? Taip, dažnai. XLSX yra suspaustas ZIP formatas, todėl jis gali būti mažesnis nei JSON. JSON tekstinis formatas nenaudoja suspaudimo, todėl failo dydis gali būti didesnis, ypač jei yra daug tekstinių duomenų.

Kaip patikrinti, ar JSON struktūra teisinga? Galite naudoti JSON validatorių, arba tiesiog patikrinti, ar naršyklėje atvaizduojamas JSON yra teisingas. Taip pat galite patikrinti, ar visi stulpelių pavadinimai atitinka jūsų lūkesčius.

Ar galiu konvertuoti atgal iš JSON į XLSX? Šis puslapis konvertuoja tik iš XLSX į JSON.

Ką daryti, jei Excel faile yra daug tuščių eilučių tarp duomenų? Jos bus praleistos, jei yra visiškai tuščios. Jei eilutėse yra tik keletas stulpelių su duomenimis, jos gali būti įtrauktos su null reikšmėmis trūkstamose ląstelėse. Prieš konvertuodami, rekomenduojame išvalyti duomenis ir pašalinti nereikalingas tuščias eilutes.