جزء من مجموعة: أدوات المطوّرين
أمان وتقنية

محوّل Excel ↔ CSV ↔ JSON

حوّل بين Excel، CSV، JSON بدقة + دعم العربية

UTF-8 BOMExcel + CSV + JSONمحلي 100%
172 bytes
355 bytes
ملاحظات: ملفات .xlsx ثنائية ولا تُقرأ مباشرة. الحل: في Excel اختر File → Save As → CSV UTF-8 ثم ارفع الملف هنا. عند تحميل CSV لفتحه في Excel، فعّل خيار BOM أعلاه ليعرض العربية صحيحاً.

دليل شامل

Excel و CSV و JSON: متى تختار كل صيغة

الفرق بين الصيغ الجدولية، متى يكون JSON أفضل، ومشاكل ترميز UTF-8 للعربية في Excel.

8 دقائق قراءة·تحديث مايو 2026

ثلاث صيغ، استخدامات مختلفة جذرياً

ملف .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، كلها تعمل في متصفّحك بدون تسجيل.

أسئلة شائعة

لماذا تظهر العربية رموزاً غريبة عند فتح CSV في Excel؟

Excel على Windows يفترض الترميز المحلي (Windows-1256) ما لم يجد علامة BOM في بداية الملف. الحل: احفظ CSV بترميز UTF-8 with BOM (ثلاث بايتات EF BB BF في البداية). الأداة هنا تضيف BOM تلقائياً عند تصدير CSV. إذا فتحت في Excel ورأيت mojibake، تحقّق من أن خيار BOM مفعّل. على macOS أو Linux تختفي المشكلة لأنّ Numbers و LibreOffice يفترضان UTF-8 دائماً.

متى أستخدم CSV ومتى JSON؟

استخدم CSV عندما البيانات مسطّحة (rows × columns) والمستلم سيفتحها في Excel أو أداة BI. استخدم JSON عندما البيانات هرميّة (حقول داخل حقول)، أو ستُستهلَك من API أو تطبيق ويب، أو تحتاج التمييز بين أنواع البيانات (رقم vs نص vs boolean vs null). CSV أصغر حجماً بنسبة 30-60% من JSON المكافئ لأنه لا يكرّر أسماء الحقول، لكن JSON أكثر دقّة.

لماذا لا تدعم الأداة ملفات .xlsx مباشرة؟

صيغة .xlsx ليست نصاً — هي أرشيف ZIP يحتوي ملفات XML للورقات والأنماط والصِيَغ. قراءتها تتطلّب مكتبة كاملة (200KB+) وتفقد الصِيَغ عند التحويل. الطريق العملي: داخل Excel اختر File → Save As → CSV UTF-8، ثم استخدم CSV هنا. هذه ممارسة قياسية حتى في الشركات الكبرى، وتضمن أن البيانات تنتقل بدقّة.

لماذا CSV من زميلي الأوروبي يستخدم فاصلة منقوطة؟

في النسخ الأوروبية من Excel (الفرنسية، الألمانية، الإسبانية)، الفاصلة , هي الفاصل العشري للأرقام (1,5 بدل 1.5)، لذا Excel يستخدم الفاصلة المنقوطة ; كفاصل حقول في CSV. هذا تباين locale معروف. أداة جيدة تكتشف الفاصل تلقائياً من السطر الأول. عند استلام ملف، افتحه بمحرّر نصوص أوّلاً للتحقّق من الفاصل قبل المعالجة.

كيف يتعامل CSV مع الحقول التي تحتوي فواصل أو أسطر جديدة؟

RFC 4180 يحدّد القاعدة: غلّف الحقل بعلامتي اقتباس "..." وأي علامة اقتباس داخل الحقل كرّرها "". مثال: حقل يحتوي he said "hi, world" يُكتب "he said ""hi, world""". الأداة هنا تطبّق المعيار بدقّة في كلا الاتجاهين. parsers بدائية كثيرة تكسر عند الأسطر الجديدة داخل الخلايا (شائعة في Excel عبر Alt+Enter).

ماذا يحدث عند تحويل JSON متشعّب إلى CSV؟

CSV مسطّحة بطبيعتها، فلا يمكن تمثيل كائن داخل خلية. الأداة هنا تحوّل الكائنات والمصفوفات المتشعّبة إلى نصوص JSON داخل الخلية. مثال: address: {city: "الرياض"} يصبح حقل نصّي "{""city"":""الرياض""}". للحفاظ على الهيكل، ابقَ في JSON أو فكّك البيانات يدوياً إلى أعمدة منفصلة (address_city) قبل التحويل.

قراءات ذات صلة

مقالات وأدلّة مرتبطة بنفس الموضوع على ArabToolBox.

أدوات قد تهمّك