JSON से Excel परिवर्तक
JSONSheetJS से JSON सरणी को Excel .xlsx वर्कबुक में बदलें और डाउनलोड करें।
दूरस्थ URL लाए नहीं जाते; अपना JSON सीधे पेस्ट करें।
इस पृष्ठ पर
JSON to Excel कन्वर्टर क्या है?#
एक JSON to Excel कन्वर्टर टेबल की तरह आकार वाले JSON दस्तावेज़ को — आमतौर पर समान ऑब्जेक्ट्स का एक ऐरे — लेता है और एक असली .xlsx वर्कबुक बनाता है जिसे आप Excel, Google Sheets, या LibreOffice में खोल सकते हैं। प्रत्येक ऑब्जेक्ट एक पंक्ति बनता है, हर टॉप-लेवल कुंजी एक कॉलम बनती है, और शीट की पहली पंक्ति हेडर होती है। आउटपुट एक असली बाइनरी स्प्रेडशीट फ़ाइल है, न कि एक नाम बदला हुआ CSV।
यह JSON बोलने वाले सिस्टमों (API, लॉग, NoSQL एक्सपोर्ट) और स्प्रेडशीट में काम करने वाले लोगों के बीच की खाई को पाटता है। एक बैकएंड हज़ार रिकॉर्ड JSON में डंप कर सकता है; एक मानव विश्लेषक उन्हें पिवट, फ़िल्टर, और चार्ट बनाने के लिए Excel में चाहता है। कन्वर्टर उस गन्दगी को भी संभालता है जो वास्तविक डेटा लाता है: नेस्टेड ऑब्जेक्ट्स, कुछ पंक्तियों में मौजूद पर दूसरों में ग़ैर-मौजूद फ़ील्ड, और ऐरे-वैल्यूड फ़ील्ड जिनके लिए ग्रिड में कोई प्राकृतिक जगह नहीं।
दो परिपाटियाँ भारी भरकम काम करती हैं। नेस्टेड ऑब्जेक्ट्स को डॉट-नोटेशन कुंजीयों के साथ फ्लैट किया जाता है — {"address": {"city": "London"}} एक address.city नाम का कॉलम बन जाता है। ऐरे-वैल्यूड फ़ील्ड्स (और फ्लैट होने से बचा कोई भी ऑब्जेक्ट) JSON टेक्स्ट के रूप में अपने सेल में स्ट्रिंगिफाई कर दिए जाते हैं, क्योंकि एक स्प्रेडशीट सेल एक वैल्यू रखता है, न कि नेस्टेड संरचना। नतीजा एक फ़्लैट, आयताकार टेबल है जिसे स्प्रेडशीट सॉफ़्टवेयर बिना शिकायत खोल सकता है।
इसका उपयोग कैसे करें#
- ऑब्जेक्ट्स का एक JSON ऐरे बाईं ओर इनपुट पैनल में चिपकाएँ। एक अकेला ऑब्जेक्ट, या पंक्तियों को एकल कुंजी जैसे
{"data": [...]}के नीचे लपेटता ऑब्जेक्ट भी स्वीकार्य है। - फ्लैट नेस्टेड (डिफ़ॉल्ट रूप से चालू) टिक करें ताकि नेस्टेड ऑब्जेक्ट्स डॉट-नोटेशन कॉलमों में फैल जाएँ। इसे अनटिक करें यदि आप नेस्टेड ऑब्जेक्ट्स को एकल सेल में JSON टेक्स्ट के रूप में रखना चाहते हैं।
- आउटपुट पैनल ठीक उसी का टैब-सेपरेटेड पूर्वावलोकन दिखाता है जो शीट में जाएगा — हेडर पंक्ति के बाद डेटा पंक्तियाँ। स्थिति पट्टी बताती है कि कितनी पंक्तियाँ एक्सपोर्ट हुईं।
- वर्कबुक सहेजने के लिए डाउनलोड .xlsx पर क्लिक करें। फ़ाइल आपके ब्राउज़र में बनती है और सीधे डाउनलोड होती है; कोई सर्वर नहीं।
- नमूना एक छोटा कर्मचारी डेटासेट लोड करता है; साफ़ करें दोनों पैनलों को रीसेट करता है और डाउनलोड बटन को अक्षम कर देता है।
प्रमुख विशेषताएँ#
- एक असली .xlsx फ़ाइल, न कि नाम बदला हुआ CSV। वर्कबुक SheetJS के साथ बनती है और बाइनरी के रूप में डाउनलोड होती है, इसलिए Excel इसे उचित कॉलम, टाइप, और शीट संरचना के साथ नेटिव रूप से खोलता है।
- गन्दे डेटा पर स्थिर कॉलम क्रम। कॉलम हर पंक्ति की कुंजीयों के यूनियन के रूप में, पहले-देखे गए क्रम में गणना होते हैं। विषम पंक्तियाँ कॉलम खिसकाती या गलत संरेखित नहीं करतीं — एक अनुपस्थित फ़ील्ड बस एक खाली सेल बन जाता है।
- डॉट-नोटेशन फ्लैटनिंग। नेस्टेड ऑब्जेक्ट्स नामित कॉलमों (
address.city,address.zip) में फैलते हैं ताकि उनके भीतर के वैल्यूज़ शीट में व्यक्तिगत रूप से फ़िल्टर और सॉर्ट हो सकें। - टैब-सेपरेटेड पूर्वावलोकन। आउटपुट पैनल शीट कंटेंट को सटीक रूप से दिखाता है, ताकि आप डाउनलोड से पहले आकार को सत्यापित कर सकें।
- शुद्ध क्लाइंट-साइड। पार्सिंग, फ्लैटनिंग, और वर्कबुक जनरेशन सब आपके ब्राउज़र में चलते हैं। डेटा कभी पेज से बाहर नहीं जाता।
कार्य उदाहरण#
नमूना लोड करें और इनपुट तीन कर्मचारी रिकॉर्ड्स का एक ऐरे है:
[
{ "id": 1, "name": "Ada Lovelace", "role": "Engineer", "salary": 95000, "skills": ["math", "logic"] },
{ "id": 2, "name": "Bob", "role": "PM", "salary": 120000, "skills": ["docs", "plan"] },
{ "id": 3, "name": "Grace", "role": "Architect", "salary": 150000, "skills": ["systems", "c", "cobol"] }
]
तीनों पंक्तियाँ एक ही कुंजीयाँ साझा करती हैं, इसलिए कॉलम इसी क्रम में id, name, role, salary, skills हैं। skills फ़ील्ड एक ऐरे है, इसलिए इसे प्रत्येक सेल में स्ट्रिंगिफाई किया जाता है। टैब-सेपरेटेड पूर्वावलोकन है:
id name role salary skills
1 Ada Lovelace Engineer 95000 ["math","logic"]
2 Bob PM 120000 ["docs","plan"]
3 Grace Architect 150000 ["systems","c","cobol"]
डाउनलोड .xlsx पर क्लिक करें और आपको एक वर्कबुक मिलती है जिसकी पहली शीट में ठीक यही सामग्री है, जिसमें id / name / role / salary / skills हेडर पंक्ति है। वहाँ से, Excel salary को नंबर मानता है (तो वह जोड़ता और औसत निकालता है) और skills को टेक्स्ट।
यदि कोई चौथी पंक्ति जोड़ी जाए जिसमें salary न हो, तब भी कन्वर्टर सभी पाँच कॉलम निकालता और बस उस एक सेल को खाली छोड़ देता — न कोई कॉलम खिसकता है, न डाउनस्ट्रीम डेटा गलत संरेखित होता है।
अक्सर पूछे जाने वाले प्रश्न#
मेरा नेस्टेड ऑब्जेक्ट नामों में डॉट वाले कॉलमों में क्यों बदलता है?#
वह फ्लैट नेस्टेड विकल्प है। एक ऐसा फ़ील्ड जैसे "address": {"city": "London", "zip": "NW1"} उपयोगी रूप से एक सेल में नहीं समाता, इसलिए इसे address.city और address.zip कॉलमों में फैलाया जाता है — हर एक Excel में व्यक्तिगत रूप से फ़िल्टर और सॉर्ट योग्य। यदि आप पूरे ऑब्जेक्ट को एकल address सेल में JSON स्ट्रिंग के रूप में रखना चाहें तो विकल्प बंद कर दें।
मेरा ऐरे सेल में ["math","logic"] क्यों दिखता है?#
एक स्प्रेडशीट सेल एक वैल्यू रखता है, और JSON ऐरे एक नेस्टेड संरचना है, इसलिए इसे वापस JSON टेक्स्ट में सीरियलाइज़ किया जाता है और सेल में वैसे ही रखा जाता है। इससे डेटा लॉसलेस रहता है — कुछ भी नहीं गिरता — और आप इसे बाद में पार्स भी कर सकते हैं। यदि आप हर ऐरे तत्व को अपनी पंक्ति पर चाहते हैं, तो कन्वर्ट से पहले स्रोत JSON को पुनर्संरचित करें (प्रति तत्व एक रिकॉर्ड)।
मेरी पंक्तियों में अलग-अलग फ़ील्ड हैं। कॉलमों का क्या होगा?#
कन्वर्टर हर पंक्ति की सभी कुंजीयों का यूनियन, उसी क्रम में जिस वे पहले दिखें, लेता है और उसे हेडर बनाता है। जिस पंक्ति में कोई दिया गया फ़ील्ड नहीं है उसके लिए एक खाली सेल मिलता है। तो एक अतिरिक्त manager फ़ील्ड वाली पंक्ति जोड़ने से बस एक manager कॉलम जुड़ जाता है; इसके बिना वाली पंक्तियाँ खाली रहती हैं, और पहले से मौजूद कुछ भी नहीं खिसकता।
क्या .xlsx बनाने के लिए मेरा डेटा कहीं अपलोड होता है?#
नहीं। पार्सिंग, फ्लैटनिंग, और SheetJS वर्कबुक जनरेशन सब आपके ब्राउज़र के अंदर चलता है। डाउनलोड एक इन-मेमोरी बफ़र से बनाया जाता है और सीधे ब्राउज़र के सेव डायलॉग को सौंपा जाता है — न कोई बैकएंड है और न कोई नेटवर्क रिक्वेस्ट।