تحويل Excel إلى JSON: الحفاظ على الأنواع في جدول واحد
عندما ترفع ملف XLSX إلى هذه الأداة، تحصل على ملف JSON يحتوي على بيانات أول ورقة عمل فقط. الفرق الجوهري عن تحويل XLSX إلى CSV هو أن JSON يدعم الأنواع: الأرقام، القيم المنطقية، القيم الخالية. بينما CSV يجبر كل شيء إلى نصوص بين علامتي اقتباس. هذه الأداة تحول الخلايا الرقمية إلى number، والخلايا المنطقية (TRUE/FALSE) إلى boolean، والخلايا الفارغة إلى null. التواريخ تتحول إلى نصوص ISO 8601. لكن كل هذا يجري في المتصفح دون رفع أي ملف إلى خادم — خصوصية مطلقة.
كيف يعمل التحويل محليًا في المتصفح
لا تغادر بياناتك جهازك أبدًا. يقرأ المتصفح الملف ويكتب المخرجات المحولة محليًا على الجهاز. لا يتم إرسال أي بايت إلى الشبكة. هذا يعني أن الملفات الضخمة قد تبطئ المتصفح، لكنها لا تشكل خطرًا أمنيًا.
الحدود موجودة: حجم الملف 8 ميجابايت كحد أقصى. إذا تجاوز الملف هذا الحجم، يظهر الخطأ: "هذا الملف كبير جدًا. استخدم ملفًا أقل من ‹max›." كذلك إذا تجاوز عدد الصفوف 10,000 صف أو الأعمدة 200 عمود، يمنع التحويل. هذه الحدود تحمي المتصفح من التوقف. أي تحويل يستغرق أكثر من 12 ثانية تقريبًا يتم إيقافه برسالة "يستغرق هذا التحويل وقتًا طويلًا. جرّب ملفًا أصغر."
أنواع الخلايا وكيف تُترجم إلى JSON
جدول Excel ليس مجرد نصوص. كل خلية لها نوع: نص، رقم، تاريخ، قيمة منطقية، أو خطأ. تحافظ الأداة على هذه الأنواع في JSON:
- النصوص: تبقى سلاسل (strings) بين علامتي اقتباس. مثال:
"اسم المنتج". - الأرقام: تتحول إلى أعداد بدون اقتباس. مثال:
42أو3.14. - القيم المنطقية: TRUE →
true، FALSE →false. - الخلايا الفارغة: تتحول إلى سلاسل فارغة
"". - الصيغ (formulas): لا تُحسب. يتم أخذ آخر قيمة محفوظة (cached value). عندما تفتح ملف XLSX في Excel وتحفظه، تُخزن النتيجة النهائية للصيغة. تقرأ هذه الأداة تلك النتيجة، لا الصيغة نفسها. لذلك إذا أردت حسابًا ديناميكيًا، يجب حسابه مسبقًا.
مثال تحويل لجدول بسيط:
| المنتج | السعر | متوفر؟ |
|---|---|---|
| قلم | 2.5 | TRUE |
| دفتر | FALSE |
إلى JSON:
[
{"المنتج": "قلم", "السعر": 2.5, "متوفر؟": true},
{"المنتج": "دفتر", "السعر": "", "متوفر؟": false}
]
لاحظ أن الخلية الفارغة في السعر أصبحت ""، والقيم المنطقية بلا اقتباس. هذا غير ممكن في CSV.
لماذا تُفقد الصيغ والتنسيقات
الصيغ في Excel (مثل =SUM(A1:A10)) هي تعليمات للحساب، وليست قيمًا. الأداة لا تحتوي على محرك حسابات Excel. بدلًا من ذلك، تقرأ القيمة المخزنة (cached value) التي تظهر في الخلية عند فتح الملف في Excel وحفظه. إذا لم يتم حفظ الملف بعد إدخال الصيغ، فقد تكون القيمة فارغة أو قديمة.
التنسيقات (الخطوط، الألوان، الحدود، الدمج) كلها تُهمل. JSON لا يحمل معلومات تنسيقية. إذا كنت بحاجة إلى الحفاظ على دمج الخلايا، يجب أن تتعامل مع ذلك يدويًا — فالأداة ستكرر القيمة في كل خلية مدمجة بشكل منفصل (أو تترك الخلايا المندمجة فارغة حسب بنية الـ XLSX).
القيود: ورقة عمل واحدة فقط وجداول غير منتظمة
يتم قراءة ورقة العمل الأولى فقط. إذا كان لديك بيانات موزعة على عدة أوراق، يجب تحويل كل ورقة على حدة. لا توجد طريقة لدمجها تلقائيًا.
المشكلة الأخرى: الجداول غير المستطيلة. إذا كانت العناوين تمتد على عدة صفوف (مثل صف للعناوين الرئيسية وصف آخر للعناوين الفرعية)، فإن الأداة ستأخذ أول صف كعناوين للأعمدة، وقد تكرر أو تفقد بعض البيانات. الأفضل أن يكون أول صف هو رؤوس الأعمدة مباشرة، وكل الصفوف التالية تحتوي على بيانات. أيضًا، الصفوف الفارغة الكاملة يتم تجاهلها.
الخطأ الشائع: التواريخ تتحول إلى أرقام
هذا أكثر ما يفاجئ المستخدمين. في XLSX، التواريخ تُخزن كأرقام تسلسلية. تقوم الأداة بتحويلها إلى سلاسل نصية بتنسيق ISO 8601. على سبيل المثال، سيظهر تاريخ 15 أغسطس 2023 كسلسلة نصية "2023-08-15T00:00:00.000Z". إذا كنت بحاجة إلى تنسيق مختلف، فيجب عليك معالجة مخرجات JSON لاحقًا.
من يحتاج إلى هذه الأداة؟
مطور ويب يستلم بيانات منتجات في Excel ويحتاج إلى JSON لواجهة API. محلل بيانات يريد تحويل تقارير ربع سنوية إلى تنسيق يمكن برمجته. فريق يتعاون مع شركاء يفضلون JSON ولا يريدون تثبيت برامج إضافية. أي شخص يهتم بالخصوصية ويريد تحويل ملف حساس دون رفعه إلى السحابة.
نصائح بعد التحويل
بعد تنزيل ملف JSON، تحقق من:
- عدد الصفوف والأعمدة: الأداة تعرض العدد — تأكد أنه يطابق توقعاتك.
- نوع القيم: الأرقام والقيم المنطقية والتواريخ تحتفظ بأنواعها الأصلية، ولا يتم تحويلها إلى سلاسل نصية.
- المفاتيح: أسماء الأعمدة قد تحتوي على مسافات أو رموز غير صالحة في JavaScript. قد تضطر إلى تنظيفها.
- الصفوف المكررة أو الفارغة: بعض ملفات Excel تحتوي على صفوف فارغة في النهاية — قد تظهر ككائنات فارغة.
الأسئلة الشائعة
س: هل يمكن تحويل ملف XLSX يحتوي على عدة أوراق؟ ج: لا، الأداة تقرأ فقط أول ورقة عمل.
س: ماذا يحدث للخلايا المدمجة؟ ج: يتم تجاهل الدمج. ستظهر القيمة فقط في أول خلية من النطاق المدمج، بينما تصبح الخلايا الأخرى سلاسل نصية فارغة.
س: كيف أحافظ على التواريخ كسلاسل نصية؟ ج: يتم تحويل التواريخ إلى سلاسل ISO 8601. إذا كنت بحاجة إلى تنسيق مختلف، فيجب عليك معالجة JSON بعد التحويل.
س: لماذا ترى "هذا الملف كبير جدًا" رغم أنه صغير؟ ج: الحد الأقصى لحجم الملف هو 8 ميجابايت. إذا تجاوز الملف هذا الحجم، فسيتم إيقاف التحويل برسالة "هذا الملف كبير جدًا. استخدم ملفًا بحجم أقل من ‹max›.".
س: هل يمكن تحويل ملف CSV أو JSON إلى XLSX؟ ج: هذه الصفحة مخصصة لتحويل XLSX إلى JSON فقط.
س: ماذا يعني الخطأ "تعذر فتح ملف Excel هذا"؟ ج: يعني أن الملف تالف أو ليس بصيغة XLSX صحيحة. تأكد من أن الملف يمكن فتحه في Excel.