ثلاث صيغ، استخدامات مختلفة جذرياً
ملف .xlsx الذي يفتحه Excel ليس نصاً — إنه أرشيف ZIP يحتوي على ملفات XML متعدّدة. CSV نص بسيط مفصول بفواصل. JSON نص هرمي للتبادل البرمجي. الثلاثة تخزّن بيانات جدوليّة، لكن كل واحدة لها مكان مختلف في سير العمل.
المحاسبون والمسوّقون يعيشون في Excel. المطوّرون يستهلكون JSON من APIs. CSV هو الجسر بين العالَمَين — كل أداة تقرأه وتكتبه. في 2026، أي أداة بيانات جدّية تدعم الثلاثة، لكن السؤال متى تختار أيّها.
لماذا .xlsx ليست قابلة للقراءة مباشرة
منذ Office 2007، صيغة .xlsx هي Office Open XML (OOXML) — أرشيف ZIP يضم عدة ملفات XML: ورقات العمل، الأنماط، الصِيَغ، البيانات المُشتركة. فتحه يتطلّب مكتبة كاملة (SheetJS في JavaScript، openpyxl في Python، Apache POI في Java).
أي أداة ويب تَعِد بـ "تحويل xlsx بدون رفع للسيرفر" إمّا تحمّل مكتبة 200KB+ في المتصفّح، أو تحوّل تقريبياً عبر CSV وتفقد الصِيَغ والأنماط. الطريق الموثوق: داخل Excel نفسه اخترFile → Save As → CSV UTF-8، ثم استخدم CSV في أي مكان. هذا ما تفعله الشركات الكبرى داخلياً.
CSV: المعيار وتطبيقاته المتباينة
CSV (Comma-Separated Values) موثّق رسمياً في RFC 4180 منذ 2005، لكنه موجود منذ الستينيات. القواعد بسيطة: حقول مفصولة بفاصلة، سطور مفصولة بـ \r\n، الحقول التي تحتوي فاصلة أو سطر جديد أو علامة اقتباس تُغلَّف بـ "..."، وعلامة الاقتباس داخل الحقل تُكرَّر "".
المشكلة: Excel لا يحترم المعيار بدقّة. في النسخ الأوروبية، Excel يستخدم الفاصلة المنقوطة ; بدل الفاصلة لأن الفاصلة فاصل عشري في تلك اللغات. عند استلام CSV من زميل فرنسي أو ألماني، توقّع ; لا ,. أداة صحيحة تكتشف الفاصل تلقائياً.
الأرقام الكبيرة (مثل أرقام الهاتف 0501234567) يحوّلها Excel إلى صيغة علميّة ويفقد الصفر البادئ. الحل: ضع الحقل بصيغة نصيّة قبل اللصق، أو أضف فاصلة عُليا 'قبل الرقم. هذه ليست مشكلة في CSV نفسه — Excel يفسّرها بشكل مفرط في الذكاء.
المشكلة الأكبر: العربية في Excel
إذا حفظت CSV يحتوي عربية بترميز UTF-8 عادي ثم فتحته في Excel، ستظهر الحروف العربية كرموز غريبة (mojibake). السبب: Excel على Windows يفترض الترميز المحلي (Windows-1256 للعربية) إلا إذا رأى علامة BOM (Byte Order Mark).
الحل: أضف ثلاث بايتات EF BB BF (أو\uFEFFكحرف نصي) في بداية الملف. هذه "البصمة" تخبر Excel أن الملف UTF-8 وستعرض العربية صحيحاً. الأداة أعلاه تضيف BOM تلقائياً عند التحميل (يمكنك تعطيلها إن كان المستهلك نظام Linux أو أداة لا تحبّ BOM).
عند القراءة، نفعل العكس: نَطرح \uFEFFالأول إن وُجد قبل التحليل. أدوات كثيرة تنسى هذا فتظهر "\uFEFF" كجزء من اسم العمود الأول.
JSON: عندما البيانات تذهب لمطوّر
JSON ليس بديلاً لـ CSV — هو طبقة أعلى. CSV مسطّحة (rows × columns)، JSON هرميّة (يمكن أن يحتوي حقل على كائن أو مصفوفة). عند تحويل CSV إلى JSON، كل صفّ يصبح كائناً ومفاتيحه هي العناوين. عند العودة، أي قيم متشعّبة تُسطَّح (flatten) أو تُحوَّل لنصوص JSON.
استخدم JSON عندما: البيانات ستُستهلَك من API أو frontend، تحتاج أنواع بيانات دقيقة (أرقام لا نصوص)، الهيكل متداخل. استخدم CSV عندما: المستلم سيفتحها في Excel، البيانات مسطّحة، الحجم كبير (CSV أصغر بكثير من JSON بسبب عدم تكرار أسماء الحقول).
حالات حافّة شائعة في التحويل
الحقول الفارغة في CSV غامضة: a,,c هل الحقل الأوسط نص فارغ أم null؟ المعيار يقول نص فارغ. JSON لا تفرّق بسهولة. الأداة هنا تعتبر الحقول الفارغة نصوصاً فارغة دائماً (سلوك متوقّع).
الأسطر الجديدة داخل الخلايا: ممكنة في Excel (Alt+Enter) وتُخزَّن في CSV كحقل مغلَّف بعلامتي اقتباس مع \nداخله. parser صحيح يجب أن يفهم أن السطر الجديد داخل"..." ليس نهاية صفّ. parsers بدائية تكسر هنا.
علامات الاقتباس داخل النص: الكلمة he said "hi"في CSV تُكتب "he said ""hi"""— الاقتباس المُكرَّر يعني علامة اقتباس واحدة. كثيرون يكسرون هذه القاعدة ويستخدمون \" (هذا JSON، ليس CSV).
سير عمل عملي للفرق المختلطة
سيناريو: فريق بيانات يصدّر تقارير من قاعدة بيانات، فريق محاسبة يفتحها في Excel، فريق تقنية يستهلكها في تطبيق ويب. الطريقة المثلى: المصدر يُصدّر JSON (الأكثر دقّة). تحويل تلقائي إلى CSV UTF-8 BOM للمحاسبة. التطبيق يستهلك JSON مباشرة. لا تَنسخ من Excel إلى Excel — كل تحويل يحتمل فقدان بيانات.
لا تستخدم Excel كقاعدة بيانات. هي أداة عرض وتحليل، ليست تخزيناً. العمود الذي يحتوي تواريخ سيتحوّل تلقائياً بصيغ غير متوقّعة. الرقم الذي يبدأ بصفر سيفقده. النص الطويل سيُقَصّ. احتفظ بالأصل نصياً (CSV أو JSON) واستخدم Excel للعرض فقط.
أدوات سطر الأوامر: أسرع طريقة للتحويل الجماعي
إن كنت تتعامل مع عشرات أو مئات الملفات، الواجهات الرسوميّة تصبح عبئاً. الأدوات الموثوقة في سطر الأوامر تنجز المهمّة في ثوانٍ:csvkit (Python) يحوّل بين CSV و JSON و SQL،jq أداة JSON القياسيّة لاستخراج وتحويل البيانات،miller (mlr) يجمع قدرات awk و sed و cut للملفّات الجدوليّة، و xsv المكتوب بـ Rust أسرع جميعها مع ملفّات بحجم جيجابايت.
مثال عمليّ: تحويل 200 ملفّ CSV عربيّ إلى JSON واحد مدموج —mlr --c2j cat file*.csv > merged.json تنتهي في أقلّ من ثانية. نفس المهمّة في Excel تأخذ ساعةً يدويّاً. النصيحة: تعلّم أداةً واحدةً جيّداً (نوصي بـ Miller للمبتدئين) بدل ثلاثة أدوات على عجل. الاستثمار يُسترَدّ خلال أسبوع.
على Windows، استخدم WSL (Windows Subsystem for Linux) للحصول على بيئة Unix كاملة دون إعادة إقلاع. على macOS و Linux الأدوات متاحة عبر brew و apt مباشرةً. مزوّدو سحابة مثل AWS و Azure يدعمون نفس الأدوات في Lambda و Functions لتحويلات تلقائيّة بدون خادم.
الأداء وحدود الذاكرة عند الملفّات الكبيرة
ملفّ CSV بحجم 100 ميجابايت يحتوي عادةً مليون صفّ. Excel يفتح حدّاً أقصى 1,048,576 صفّاً — تماماً 2 أس 20 — ويرفض ما بعدها. المتصفّحات تستهلك ضِعف الحجم في الذاكرة عند التحليل لأنّها تحفظ النصّ كـ UTF-16 داخليّاً. ملفّ 100MB قد يصبح 250MB في الـ RAM. أيّ حاسوب بـ 8GB يصبح بطيئاً جدّاً.
الحلّ المعياريّ للملفّات الضخمة: المعالجة المتدفّقة (Streaming). بدل تحميل الملفّ بالكامل ثمّ تحليله، تقرأ سطراً واحداً، تعالجه، تكتب النتيجة، وتنتقل. Papa.parse في المتصفّح يدعم هذا عبر step callback. csv-parse في Node.js يستخدم Node Streams الأصليّة. استهلاك الذاكرة يبقى ثابتاً مهما كبر الملفّ.
للتحويل إلى JSON، ضع في حسابك أنّ JSON المتسلسل (Array واحد كبير) يجب تحميله بالكامل قبل أيّ معالجة. البديل الأفضل لبيانات ضخمة هوJSON Lines (.jsonl): كائن واحد في كلّ سطر، يُقرأ سطراً سطراً. هذا ما تستخدمه شركات مثل Google و Stripe لتصدير ملايين السجلّات. تحوّل CSV إلى JSONL ببساطة:mlr --c2j --jlistwrap=false cat file.csv.
أدوات ذات صلة
أدوات أخرى مجانية على ArabToolBox، كلها تعمل في متصفّحك بدون تسجيل.
- منسّق JSONتنسيق وتحقق JSON مع مقارنة Diff وتحويل لـ CSV/YAML
- دمج وفصل PDFادمج عدة PDF أو افصل صفحات — محلياً بدون رفع
- منسّق SQLنسّق استعلامات SQL — يدعم MySQL، PostgreSQL، MS SQL
- تحويل Word إلى PDFحوّل Word إلى PDF احترافي — يحافظ على RTL والخطوط
- محوّل YAML ↔ JSON ↔ TOMLتحويل بين صيغ الإعدادات الثلاث + تحقق فوري
- اختبار Regexاختبر Regex على نصوص عربية وإنجليزية — مع شرح