आँकड़ों और विज्ञापन के लिए कुकीज़
हम आँकड़ों और विज्ञापन के लिए कुकीज़ इस्तेमाल करते हैं, दोनों Google को जाती हैं। मना करने से आपको दिखने वाली किसी चीज़ में कोई फ़र्क़ नहीं पड़ता।निजता पेज पढ़ें
यहाँ आप JSON को XLSX में बदलते हैं, मुफ़्त और बिना खाते के: फ़ाइल ऊपर छोड़िए और कुछ ही सेकंड में नतीजा डाउनलोड के लिए तैयार मिलेगा। कन्वर्ज़न आपके अपने ब्राउज़र के भीतर होता है, इसलिए फ़ाइल कभी अपलोड नहीं होती। यह Windows, macOS और Linux पर वैसे ही चलता है जैसे iPhone और Android पर, और कनेक्शन काट देने पर भी चलता रहता है।
एक बार में 100 फ़ाइलें। फ़ॉर्मेट अलग-अलग हों तो भी चलेगा।
ये एक के बाद एक बदलती हैं और साथ में एक ZIP बनकर उतरती हैं।
JSON से XLSX
यही CSV में बदलने से पूरा फ़र्क़ है, और यही बाक़ी सब तय करता है। किसी प्रोग्राम को CSV चाहिए: वह स्ट्रीम होती है, हर आयात-रूटीन उसे पढ़ लेता है, और उसमें रास्ते में आने वाली कोई फ़ॉर्मेटिंग नहीं। किसी इंसान को ऐसी वर्कबुक चाहिए जो सही चौड़ाई के कॉलम, पहले से हेडर-पंक्ति और पहले से सही प्रकार लेकर खुले।
अगर डेटा किसी डेटाबेस, स्क्रिप्ट या विश्लेषण पाइपलाइन में जाना है, CSV बेहतर जवाब है और यह ग़लत पेज है। अगर यह किसी सहकर्मी के पास जाना है जो उसे देखेगा, छाँटेगा और कॉलम जोड़ेगा, यही सही जगह है।
CSV में कोई प्रकार होता ही नहीं। Excel हर कॉलम का प्रकार अंदाज़े से तय कर खोलता है, और यही वह अंदाज़ा है जहाँ जानी-पहचानी क्षति होती है: पिनकोड और उत्पाद-कोड से आगे के शून्य ग़ायब हो जाते हैं, तारीख़ जैसी दिखने वाली कोई भी चीज़ तारीख़ बन जाती है, पंद्रह अंकों से आगे के पहचानकर्ता फ़्लोटिंग-पॉइंट में अपने अंतिम अंक खो देते हैं।
कोई XLSX हर सेल का प्रकार घोषित करती है, तो खुलते समय कुछ अंदाज़े से तय नहीं होता और कुछ दोबारा नहीं लिखा जाता। यह एक फ़र्क़ पूरी तरह एक तरह की सहायता-बातचीत हटा देता है, और यही अतिरिक्त क़दम उठाने की वजह है, CSV के साथ लंबा स्पष्टीकरण भेजने के बजाय।
हर रिकॉर्ड एक पंक्ति बनता है और हर कुंजी एक कॉलम, हेडर-पंक्ति कुंजियों से ही निकलती है। जिन रिकॉर्ड की कुंजियाँ एक-जैसी नहीं होतीं, उन्हें पूरी फ़ाइल में कॉलम का पूरा सेट बनाकर सुलझाया जाता है, और जहाँ किसी रिकॉर्ड में मान नहीं वहाँ सेल ख़ाली रह जाता है।
यह सुलह जान लेना ज़रूरी है क्योंकि यह एक आम आश्चर्य समझाती है। दस रिकॉर्ड को परखने के लिए बदलने से पूरा निर्यात बदलने से पतली शीट बन सकती है, बस इसलिए कि नमूने में दुर्लभ फ़ील्ड नहीं आए।
JSON एक पेड़ बयान करता है और स्प्रेडशीट एक जाली, तो नेस्टेड ऑब्जेक्ट कुंजी-नामों को जोड़कर कॉलम-हेडिंग में चपटा होता है। एक स्तर से हर कोई पढ़ सके ऐसी शीट बनती है; दो स्तर भी आमतौर पर ठीक रहते हैं।
उससे आगे यह देखते ही साफ़ बिगड़ती दिखती है: हेडिंग लंबी हो जाती है, शीट बहुत चौड़ी हो जाती है, और ज़्यादातर पंक्तियों के ज़्यादातर सेल ख़ाली रहते हैं। साठ कॉलम वाला कोई साधारण दिखने वाला निर्यात असल में डेटा की शक्ल दिखा रहा है, कन्वर्ज़न की कोई ख़ामी नहीं — और यह संकेत है कि JSON को JSON ही रहना चाहिए।
पाँच लाइन-आइटम वाला ऑर्डर, टैग-सूची वाली पोस्ट, कई पुराने पतों वाला व्यक्ति — इनमें से किसी का सही एक-पंक्ति वाला रूप नहीं। उपलब्ध तीन जवाब हैं — हर स्थान के लिए एक कॉलम, मान जोड़कर एक कॉलम, या हर सदस्य के लिए एक पंक्ति — और हर एक कुछ न कुछ तोड़ता है।
जब सरणी ही अर्थ रखती है, वही कीजिए जो कोई डेटाबेस करता — मूल रिकॉर्ड के लिए एक शीट, बच्चों के लिए एक शीट, किसी पहचानकर्ता से जुड़ी हुई। यह एक ही कन्वर्ज़न से ज़्यादा काम है, और यही इकलौता रूप है जिसे कोई स्प्रेडशीट-उपयोगकर्ता सचमुच समझ सकता है।
ChatGPT, Claude या किसी API डैशबोर्ड से मिलने वाला संग्रह JSON में होता है क्योंकि मशीन इसे पढ़ती है, और ज़्यादातर पाने वालों के पास इसे काम के लायक़ खोलने वाला कोई औज़ार नहीं। स्प्रेडशीट व्यावहारिक जवाब है: XLSX अपने प्रकार घोषित करती है, तो समय-मुहरें समय-मुहरें बनी रहती हैं और लंबे संख्यात्मक ID वैज्ञानिक संकेतन में चुपचाप नहीं बदलते जैसा Excel में खुली CSV करती।
यह चपटे हिस्सों — उपयोग-लॉग, बिलिंग-पंक्तियाँ, एक-प्रविष्टि-प्रति-पंक्ति वाली संदेश-सूचियाँ — के लिए अच्छा काम करता है। यह बातचीत-संग्रह के लिए ख़राब काम करता है, जो पंक्तियों की नहीं संदेश-नोड के पेड़ की है, और उसे चपटा करने से ऐसे कॉलम बनते हैं जिनके नाम कोई नहीं पढ़ना चाहता।
शीट को थोड़ा देख लीजिए। दो चीज़ें हर बार जाँचने लायक़ हैं: पहचानकर्ता कॉलम संख्या में फ़ॉर्मेट होने के बजाय टेक्स्ट की तरह पढ़ रहे हों, और तारीख़ वाले कॉलम पाँच-अंकों की संख्या के बजाय तारीख़ जैसे दिखें।
और यह भी देखिए कि वाक़ई क्या-क्या भीतर है। किसी API का JSON निर्यात हर वह फ़ील्ड रखता है जो API लौटाता है, जिसमें भीतरी पहचानकर्ता, फ़्लैग और कभी-कभी ऐसे फ़ील्ड भी शामिल हैं जिनका किसी को अंदाज़ा नहीं था। स्प्रेडशीट इन सबको उस तरह दिखाती है जैसे JSON फ़ाइल नहीं दिखाती — फ़ाइल संगठन से बाहर जाने से पहले यह जान लेना अच्छा है।
कन्वर्ज़न ब्राउज़र टैब में, आपके अपने प्रोसेसर पर चलता है। फ़ाइल कहीं भेजी नहीं जाती, कोई खाता और कोई दैनिक सीमा नहीं, और सीमा प्रति फ़ाइल 100 MB है।
यह ज़्यादातर कन्वर्ज़न से यहाँ ज़्यादा प्रासंगिक है। JSON निर्यात लगभग हमेशा किसी सिस्टम का कच्चा नतीजा होता है — ग्राहक रिकॉर्ड, ऑर्डर, फ़ॉर्म प्रविष्टियाँ, खाते — और इसे किसी तीसरे-पक्ष कन्वर्टर को देना ठीक वही डेटा सौंपना है जिसके लिए संगठन जवाबदेह है। कहीं न भेजना ही किसी पर भरोसा न करने का सबसे सादा रूप है।
| JSON | XLSX | |
|---|---|---|
| पूरा नाम | JavaScript Object Notation | Excel वर्कबुक |
| फ़ाइल एक्सटेंशन | .json | .xlsx |
| मीडिया टाइप | application/json | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet |
| पहली बार प्रकाशित | 2001 | 2007 |
| प्रकाशक | — | Microsoft |
| विनिर्देश | RFC 8259 | ECMA-376 |
| लाइसेंस | खुला मानक | खुला मानक |
| आज की स्थिति | मौजूदा | मौजूदा |
| ब्राउज़र में खुलता है | हर ब्राउज़र | कोई ब्राउज़र नहीं |
| इसकी जगह विचारणीय | XML, YAML, NDJSON | CSV, ODS, Parquet |
XLSX को कोई भी ब्राउज़र नहीं पढ़ता। इस लिहाज़ से दोनों में यही कम जगह चलने वाला है। भेजने से पहले देख लीजिए कि पाने वाला इसे लेता भी है या नहीं।
दोनों तरफ़ के प्रोग्राम अलग हैं: JSON फ़ाइल Visual Studio Code, jq और Postman में खुलती है और XLSX फ़ाइल Microsoft Excel, LibreOffice Calc और Google Sheets में — यानी नतीजा जिसके पास जाएगा, उसे दूसरी सूची में से कोई प्रोग्राम चाहिए होगा।
दोनों का निशाना अलग काम है: JSON का प्रोग्रामों के बीच डेटा ले जाना और वेब पर, XLSX का एडिटिंग पर। इस पर सोचना बनता है, क्योंकि जिस वजह से एक मौजूद है, आम तौर पर उसी वजह से दूसरा असुविधाजनक होता है।
JSON 2001 में आया। यह RFC 8259 में तय किया गया है, और अगर फ़ाइल को उस औज़ार से ज़्यादा जीना है जिसने उसे लिखा, तो यह बात क़ीमती है।
XLSX Microsoft का है और 2007 से चला आ रहा है, और ECMA-376 में तय किया गया है। Microsoft Excel, LibreOffice Calc और Google Sheets इस फ़ॉर्मेट को पढ़ लेते है।
नहीं। यह कन्वर्ज़न पूरी तरह आपके ब्राउज़र में होता है, इसलिए फ़ाइल आपके डिवाइस से बाहर नहीं जाती। आप ख़ुद जाँच सकते हैं: डेवलपर टूल्स का नेटवर्क टैब खोलिए और कुछ बदल कर देखिए। आपको पेज ख़ुद दिखेगा और आँकड़ों तथा विज्ञापन के वे अनुरोध दिखेंगे जिनसे इस सेवा का ख़र्च निकलता है — और एक भी ऐसा अनुरोध नहीं जो आपकी फ़ाइल साथ ले जा रहा हो। इस जोड़ी के पीछे SheetJS है, JavaScript में लिखा स्प्रेडशीट का एक पाठक और लेखक; आपका ब्राउज़र इसे एक बार उतारता है और फिर सहेज कर रखता है।
हाँ। न खाता, न वॉटरमार्क, और न कोई रोज़ का कोटा जो ख़त्म हो: यह आपकी अपनी मशीन पर चलता है, इसलिए आप जितनी बार चाहें लौट सकते हैं। ब्राउज़र 100 MB तक की फ़ाइलें सँभालता है, एक बार में 100। SheetJS आपकी अपनी मशीन पर उतरता है और वहीं चलता है — इसीलिए उस पर कोई गिनती नहीं है।
JSON और XLSX सामग्री का वर्णन बुनियादी तौर पर अलग-अलग तरीक़ों से करते हैं। इसलिए यह कन्वर्ज़न नक़ल नहीं, पुनर्निर्माण है: ईमानदार, पर बाइट-दर-बाइट एक जैसा नहीं। एक के अंदर एक बैठी वस्तुएँ चपटी होकर कॉलम बन जाती हैं। गहराई तक बैठा डेटा अपना आकार खो देता है।
XLSX को कोई भी ब्राउज़र नहीं पढ़ता। इस लिहाज़ से दोनों में यही कम जगह चलने वाला है। भेजने से पहले देख लीजिए कि पाने वाला इसे लेता भी है या नहीं।