XLSX को JSON में बदलें

यहाँ आप XLSX को JSON में बदलते हैं, मुफ़्त और बिना खाते के: फ़ाइल ऊपर छोड़िए और कुछ ही सेकंड में नतीजा डाउनलोड के लिए तैयार मिलेगा। कन्वर्ज़न आपके अपने ब्राउज़र के भीतर होता है, इसलिए फ़ाइल कभी अपलोड नहीं होती। यह Windows, macOS और Linux पर वैसे ही चलता है जैसे iPhone और Android पर, और कनेक्शन काट देने पर भी चलता रहता है।

  • कहाँ चलता है आपके ब्राउज़र में। फ़ाइल कभी अपलोड नहीं होती।
  • नए सिरे से बना JSON के काम करने का तरीक़ा XLSX से अलग है। यह किसी लॉसी कोडेक जैसा धीरे-धीरे होने वाला नुक़सान नहीं है: JSON जो कुछ व्यक्त कर सकता है, वह हूबहू उतर आता है — और जिसका वहाँ कोई समतुल्य नहीं, वह पूरी तरह रह जाता है।
  • फ़ाइल आकार की सीमा हर फ़ाइल 100 MB तक, मुफ़्त, बिना खाते के।
  • जानने लायक़ सिर्फ़ पहली शीट पढ़ी जाती है, और उसमें भी सिर्फ़ मान। सूत्र, फ़ॉर्मैटिंग, कॉलम की चौड़ाई और पहली के बाद की हर शीट पीछे रह जाती है।

एक बार में 100 फ़ाइलें। फ़ॉर्मेट अलग-अलग हों तो भी चलेगा।

स्प्रेडशीट वह इंटरफ़ेस है जिसे किसी ने डिज़ाइन नहीं किया

यह कन्वर्ज़न इसलिए मौजूद है कि हर संगठन में एक ही पैटर्न दोहराता है: किसी चीज़ का असली संस्करण — रेट-लिस्ट, प्रोडक्ट-कैटलॉग, अनुवाद-तालिका, खुलने-बंद होने के समय की सूची — किसी ऐसे व्यक्ति की स्प्रेडशीट में रहता है जो डेवलपर नहीं, और उसे किसी प्रोग्राम तक पहुँचना है जो डेटा चाहता है।

यह पूरी तरह समझदार व्यवस्था है। स्प्रेडशीट अच्छा संपादन-इंटरफ़ेस है, बिज़नेस-उपयोगकर्ता उसे पहले से जानते हैं, और उसे बदलने के लिए कोई छोटा एडमिन-टूल बनाना शायद ही मेहनत के क़ाबिल हो। चाहिए बस सीमा पर एक भरोसेमंद कन्वर्ज़न, और यही यहाँ का पूरा काम है।

एक ग्रिड ऑब्जेक्ट की सरणी बन जाती है

नक़्शा साफ़ है। पहली पंक्ति हेडर मानी जाती है और की-नाम देती है; उसके बाद हर पंक्ति एक ऑब्जेक्ट बनती है; हर कोशिका उस ऑब्जेक्ट पर एक मान बनती है। नतीजा रिकॉर्ड की सरणी है, जो लगभग हमेशा कोई प्रोग्राम-पढ़ने वाला चाहता है।

हेडर पंक्ति के बारे में जान-बूझकर सोचना काम आता है, क्योंकि वे कोशिकाएँ आपके कोड में की-नाम बनती हैं। छोटा, लोअरकेस, बिना स्पेस, बिना विराम-चिह्न वाली की टाइप करने में सुखद रहती हैं।

तारीख़ें पहली चीज़ हैं जो ग़लत हो जाती हैं

कोई स्प्रेडशीट तारीख़ों को तारीख़ की तरह नहीं रखती। वह किसी मूल-बिंदु से दिन गिनने वाली संख्या रखती है, और सेल-फ़ॉर्मेटिंग ही 45678 को स्क्रीन पर तारीख़ जैसा दिखाती है। बदलने पर वही मिलता है जो फ़ाइल में सचमुच है — यानी वह संख्या।

इसका इलाज दो तरीक़ों से जान-बूझकर होता है। स्प्रेडशीट में कॉलम को पाठ के रूप में फ़ॉर्मेट करके ISO तारीख़ें टाइप कीजिए, जो फ़ाइल को हर कन्वर्ज़न में ख़ुद-वर्णनकारी बनाए रखता है। या बदलने के बाद मान बदल लीजिए।

शुरुआती शून्य और लंबे पहचानकर्ता शुरू में ही खो चुके थे

संख्या के रूप में फ़ॉर्मेट की गई कोशिका में रखा कोई पोस्टकोड, प्रोडक्ट-कोड या राष्ट्रीय पहचानकर्ता अपने शुरुआती शून्य पहले ही खो चुका है — Excel ने वह तब किया जब मान टाइप या इम्पोर्ट हुआ, और फ़ाइल में एक संख्या है।

पंद्रह अंकों से आगे के पहचानकर्ता भी floating point में अपने आख़िरी अंक खो देते हैं। कोई कन्वर्टर दोनों को वापस नहीं ला सकता, क्योंकि जानकारी फ़ाइल में है ही नहीं। इलाज ऊपर है: वे कॉलम स्प्रेडशीट में पाठ के रूप में फ़ॉर्मेट होने चाहिए।

जो स्प्रेडशीट के पास है और JSON के पास नहीं

फ़ॉर्मूला, और आपको उनके नतीजे मिलते हैं — जो चाहिए भी था, क्योंकि किसी प्रोग्राम को फ़ॉर्मूले से कुछ लेना-देना नहीं। फ़ॉर्मेटिंग, रंग, सशर्त नियम और कॉलम-चौड़ाई — कोई भी डेटा नहीं। चार्ट, टिप्पणियाँ और जुड़ी हुई कोशिकाएँ, जिनका कोई समकक्ष नहीं।

जुड़ी हुई कोशिकाएँ देखने लायक़ हैं। तीन कॉलमों तक फैला जुड़ा हेडर एक की और दो ख़ाली कीज़ वाली ऑब्जेक्ट बनाता है — जो किसी सामान्य दिखने वाली शीट से निकला अजीब दिखने वाला रिकॉर्ड है। सपाट हेडर, हर कॉलम में एक कोशिका, इस कन्वर्ज़न को उबाऊ बनाते हैं, और उबाऊ ही लक्ष्य है।

यह किसी build में कहाँ फ़िट होता है

आम व्यवस्था है स्प्रेडशीट को संपादन-योग्य स्रोत रखना, JSON में बदलना एक चरण के रूप में करना, और JSON को कोड के साथ कमिट करना। डेटा तब pull request में रिव्यू लायक़, वर्ज़न्ड और build-समय पर उपलब्ध होता है।

दो आदतें इसे समय के साथ चलाए रखती हैं। हर बार एक ही तरीक़े से बदलिए ताकि diff असली बदलाव दिखाए। और कमिट करने से पहले नतीजे को स्कीमा के ख़िलाफ़ वैलिडेट कीजिए, ताकि किसी अच्छे इरादे से बदला कॉलम-नाम चुपचाप ग़ायब फ़ील्ड वाली ऑब्जेक्ट बनाने की बजाय जाँच में पकड़ा जाए।

CSV बेहतर लक्ष्य कब है

अगर मंज़िल डेटाबेस-इम्पोर्ट, कोई विश्लेषण-औज़ार या डेटा-पाइपलाइन है, तो CSV आमतौर पर बेहतर बीच का चरण है: यह स्ट्रीम होता है, हर सिस्टम इसे पढ़ता है, और यह ऐसे डेटा पर नेस्टिंग नहीं थोपता जिसमें कोई नेस्टिंग है ही नहीं।

JSON अपनी जगह तब कमाती है जब डेटा ऐप्लिकेशन-कोड में जा रहा हो — फ़्रंट-एंड, कॉन्फ़िग फ़ाइल, API फ़िक्सचर — जहाँ ऑब्जेक्ट की सरणी वही है जो भाषा चाहती है। जो फ़ाइल पढ़ता है उसके हिसाब से चुनिए, कौन-सा फ़ॉर्मेट ज़्यादा आधुनिक लगता है उसके हिसाब से नहीं।

फ़ाइल आपकी मशीन पर ही रहती है

कन्वर्ज़न ब्राउज़र टैब में आपके ही प्रोसेसर पर चलता है, इसलिए कुछ अपलोड नहीं होता और कोई सर्वर कॉपी नहीं रखता। कोई खाता नहीं, कोई क़तार नहीं, कोई दैनिक सीमा नहीं; सीमा प्रति फ़ाइल 100 MB है, एक बार में सौ फ़ाइलें।

यह यहाँ महज़ संयोग नहीं है। जो स्प्रेडशीट लोग बदलते हैं वे आमतौर पर आंतरिक होती हैं: क़ीमतें, मार्जिन, ग्राहक-सूचियाँ, स्टाफ़-रिकॉर्ड, अभी न लॉन्च हुई कैटलॉग। कहीं न भेजना ही उन पर भरोसा करने की सबसे सादी शक़्ल है।

XLSX को JSON में ऐसे बदलें

  1. अपनी XLSX फ़ाइल इस पेज पर छोड़ें, या चुनने के लिए दबाएँ।
  2. लक्ष्य के रूप में JSON चुनें। कन्वर्ज़न आपके ब्राउज़र में होता है और फ़ाइल अपलोड नहीं होती।
  3. तैयार JSON फ़ाइल डाउनलोड कर लें।

XLSX या JSON: क्या बदलता है

XLSX और JSON की तुलना
XLSXJSON
पूरा नामExcel वर्कबुकJavaScript Object Notation
फ़ाइल एक्सटेंशन.xlsx.json
मीडिया टाइपapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheetapplication/json
पहली बार प्रकाशित20072001
प्रकाशकMicrosoft
विनिर्देशECMA-376RFC 8259
लाइसेंसखुला मानकखुला मानक
आज की स्थितिमौजूदामौजूदा
ब्राउज़र में खुलता हैकोई ब्राउज़र नहींहर ब्राउज़र
इसकी जगह विचारणीयCSV, ODS, ParquetXML, YAML, NDJSON

नतीजा खोलना

JSON को हर मौजूदा ब्राउज़र खोल लेता है। XLSX को इतने भी नहीं। अगर फ़ाइल किसी वेब पेज या किसी फ़ॉर्म तक जा रही है, तो आम तौर पर इस कन्वर्ज़न की पूरी वजह यही है।

दोनों तरफ़ के प्रोग्राम अलग हैं: XLSX फ़ाइल Microsoft Excel, LibreOffice Calc और Google Sheets में खुलती है और JSON फ़ाइल Visual Studio Code, jq और Postman में — यानी नतीजा जिसके पास जाएगा, उसे दूसरी सूची में से कोई प्रोग्राम चाहिए होगा।

कौन-सा फ़ॉर्मेट किस काम के लिए है

दोनों का निशाना अलग काम है: XLSX का एडिटिंग पर, JSON का प्रोग्रामों के बीच डेटा ले जाना और वेब पर। इस पर सोचना बनता है, क्योंकि जिस वजह से एक मौजूद है, आम तौर पर उसी वजह से दूसरा असुविधाजनक होता है।

XLSX Microsoft का फ़ॉर्मेट है, जो 2007 में आया। यह ECMA-376 में तय किया गया है, और अगर फ़ाइल को उस औज़ार से ज़्यादा जीना है जिसने उसे लिखा, तो यह बात क़ीमती है।

JSON 2001 से चला आ रहा है, और RFC 8259 में तय किया गया है। Visual Studio Code, jq और Postman इस फ़ॉर्मेट को पढ़ लेते है।

XLSX से JSON: आम सवाल

क्या मेरी XLSX फ़ाइल कहीं अपलोड होती है?

नहीं। यह कन्वर्ज़न पूरी तरह आपके ब्राउज़र में होता है, इसलिए फ़ाइल आपके डिवाइस से बाहर नहीं जाती। आप ख़ुद जाँच सकते हैं: डेवलपर टूल्स का नेटवर्क टैब खोलिए और कुछ बदल कर देखिए। आपको पेज ख़ुद दिखेगा और आँकड़ों तथा विज्ञापन के वे अनुरोध दिखेंगे जिनसे इस सेवा का ख़र्च निकलता है — और एक भी ऐसा अनुरोध नहीं जो आपकी फ़ाइल साथ ले जा रहा हो। इस जोड़ी के पीछे SheetJS है, JavaScript में लिखा स्प्रेडशीट का एक पाठक और लेखक; आपका ब्राउज़र इसे एक बार उतारता है और फिर सहेज कर रखता है।

क्या XLSX को JSON में बदलना मुफ़्त है?

हाँ। न खाता, न वॉटरमार्क, और न कोई रोज़ का कोटा जो ख़त्म हो: यह आपकी अपनी मशीन पर चलता है, इसलिए आप जितनी बार चाहें लौट सकते हैं। ब्राउज़र 100 MB तक की फ़ाइलें सँभालता है, एक बार में 100। SheetJS आपकी अपनी मशीन पर उतरता है और वहीं चलता है — इसीलिए उस पर कोई गिनती नहीं है।

XLSX को JSON में बदलने पर क्या गुणवत्ता जाती है?

XLSX और JSON सामग्री का वर्णन बुनियादी तौर पर अलग-अलग तरीक़ों से करते हैं। इसलिए यह कन्वर्ज़न नक़ल नहीं, पुनर्निर्माण है: ईमानदार, पर बाइट-दर-बाइट एक जैसा नहीं। सिर्फ़ पहली शीट पढ़ी जाती है, और उसमें भी सिर्फ़ मान। सूत्र, फ़ॉर्मैटिंग, कॉलम की चौड़ाई और पहली के बाद की हर शीट पीछे रह जाती है।

JSON फ़ाइल खोलने के लिए क्या मुझे कुछ इंस्टॉल करना होगा?

कन्वर्ज़न के लिए नहीं: वह उसी ब्राउज़र में होता है जो आपने पहले से खोल रखा है। नतीजा खोलने के लिए उसके बाद वही प्रोग्राम चाहिए जिससे आपका डिवाइस JavaScript Object Notation आम तौर पर दिखाता है।

इन फ़ॉर्मेट के बारे में और