لماذا تتعطل ملفات CSV في Excel؟ ترميز UTF-8، الفواصل، والأصفار البادئة
جدول المحتويات
- التشخيص المباشر: الفرق بين تنسيق الملف وتخمين برنامج Excel
- فخ الأحرف غير المفهومة: UTF-8 مقابل UTF-8 مع علامة BOM
- التعارض الإقليمي بين الفاصلة العادية والمنقوطة (تجمع البيانات في العمود A)
- علامات الاقتباس وتعدد الأسطر داخل الخلايا (معيار RFC 4180)
- فقدان الأصفار البادئة وحد دقة 15 رقماً
- خطوات الاستيراد الرسمية في Microsoft Excel (بدون أي تلف)
- أدوات GoToolstack الآمنة في المتصفح للتعامل مع CSV
- المراجع التقنية والمعايير الرسمية
1. التشخيص المباشر: الفرق بين تنسيق الملف وتخمين برنامج Excel
ملف CSV (القيم المفصولة بفواصل) ليس سوى نص عادي خالٍ من التنسيق. يحتوي فقط على أحرف خام وفواصل ونهايات أسطر. عندما يظهر الملف معطلاً في Excel (أحرف غير مفهومة، تجمع البيانات في العمود A، أو تحول أرقام الهواتف والبطاقات إلى أصفار)، فإن الملف الأصلي سليم في الغالب، والمشكلة ناتجة عن التخمين التلقائي لبرنامج Excel عند فتحه بالنقر المزدوج.
النقر المزدوج يجبر Excel على استنتاج الترميز والفواصل من إعدادات Windows الإقليمية. لحل هذه الأخطاء جذرياً يجب مراعاة أربع قواعد تقنية:
2. فخ الأحرف غير المفهومة: UTF-8 مقابل UTF-8 مع علامة BOM
تنتج تطبيقات الويب الحديثة نصوصاً بترميز UTF-8 القياسي دون علامة ترتيب البايتات (BOM). ولكن عند فتح الملف بالنقر المزدوج على Windows، يعتمد Excel ترميز ANSI المحلي القديم.

بدون علامة BOM المكونة من 3 بايتات (0xEF, 0xBB, 0xBF) في بداية الملف، يقرأ Excel الأحرف متعددة البايتات كرموز فردية، مما يتسبب في تشوه النص وظهور رموز غريبة:
| النص الأصلي المطلوب | الشكل المشوه في Excel (بدون BOM) | آلية الخطأ |
|---|---|---|
München / İstanbul |
München / İstanbul |
UTF-8 2-byte → ANSI Mojibake |
Français / Español |
Français / Español |
Diacritics parsed as individual code points |
€ 1,500 / ₺ 5,000 / ¥ 10,000 |
€ 1,500 / ₺ 5,000 / ¥ 10,000 |
Multi-byte currency symbols decoded into ANSI artifacts |
عند إنشاء ملفات CSV لمستخدمي Excel، احرص على تضمين علامة UTF-8 BOM. في محول JSON إلى CSV من GoToolstack، ما عليك سوى تفعيل خيار إضافة UTF-8 BOM (\uFEFF) لبرنامج Excel.
3. التعارض الإقليمي بين الفاصلة العادية والمنقوطة (تجمع البيانات في العمود A)
في بعض الدول تُستخدم النقطة كفاصلة عشرية (12.50) والفاصلة العادية لفصل القوائم. لكن في دول أخرى تكون الفاصلة العادية هي الفاصلة العشرية قانوناً (12,50).
نظراً لأن الفاصلة لا يمكن أن تكون فاصلة عشرية وفاصلة أعمدة في آن واحد، تعتمد إعدادات Windows في تلك المناطق الفاصلة المنقوطة (;) كفاصل افتراضي. عند فتح ملف CSV يفصل بفواصل عادية بالنقر المزدوج، لا يجد Excel فواصل منقوطة فيفرغ الصف كاملاً في العمود A.
قم بتصدير البيانات بفاصلة منقوطة أو استخدم خيار البيانات > من نص/CSV في Excel لاختيار الفاصلة المناسبة يدوياً.
4. علامات الاقتباس وتعدد الأسطر داخل الخلايا (معيار RFC 4180)
عندما تحتوي الخلية على فاصلة أو عنوان متعدد الأسطر، يلزم معيار RFC 4180 بإحاطة الحقل بعلامات اقتباس مزدوجة. ويتم الهروب من علامات الاقتباس الداخلية بمضاعفتها (""):
ID,Customer,Address,Notes
101,"Acme, Inc.","123 Industrial Way
Suite 400","Order confirmed with ""Express"" shipping"5. فقدان الأصفار البادئة وحد دقة 15 رقماً
يحاول Excel تخمين نوع البيانات لكل عمود. وإذا كانت الخلية تتكون من أرقام فقط، فإنه يحولها تلقائياً إلى رقم بفاصلة عائمة، مما يتسبب في فقدان لا يمكن تداركه:
حذف الأصفار البادئة: تتحول الرموز البريدية وأرقام الهواتف (مثل "01234") إلى أرقام صحيحة (1234)، وتُحذف الأصفار البادئة نهائياً من الذاكرة.
حد دقة 15 رقماً (محرك Excel مقابل IEEE 754): يقيد محرك الحساب في Microsoft Excel الدقة الرقمية بـ 15 رقماً معنوياً فقط. ومع أن معيار IEEE 754 للأرقام العشرية المضاعفة الدقة يدعم الأعداد الصحيحة حتى 253 (9,007,199,254,740,992، أي 16 رقماً) دون تقريب، إلا أن قواعد Excel الداخلية تستبدل جميع الأرقام بعد الخانة الـ 15 بأصفار (1234567890123456 → 1234567890123450)!
تحذير مصيري: تغيير تنسيق الخلية إلى 'نص' بعد فتح الملف لن يستعيد الأرقام المفقودة مطلقاً، لأن البيانات الأصلية تم تدميرها في ذاكرة التطبيق بمجرد قراءتها كرقم.
6. خطوات الاستيراد الرسمية في Microsoft Excel (بدون أي تلف)
لفتح أي ملف CSV بأمان دون تشوه الأحرف أو فقدان الأرقام، اتبع مسار Power Query المعتمد:
- افتح Excel بملف عمل فارغ (لا تنقر نقراً مزدوجاً على ملف CSV).
- انتقل إلى الشريط العلوي: بيانات > الحصول على البيانات > من ملف > من نص/CSV.
- في نافذة المعاينة، اضبط أصل الملف: على
65001: Unicode (UTF-8). - حدد المحدد (الفاصل): بدقة (فاصلة عادية أو منقوطة).
- انقر فوق تحويل البيانات، وفي محرر Power Query غير نوع بيانات أعمدة الهواتف والبطاقات إلى نص.
- انقر فوق إغلاق وتحميل لإدراج البيانات الكاملة في ورقة العمل دون أدنى فقدان.
- احفظ مصنف العمل بتنسيق مصنف Excel (
.xlsx) بدلاً من الكتابة فوق ملف CSV الأصلي (original CSV)، حفاظاً على سلامة البيانات المصدرية.
7. أدوات GoToolstack الآمنة في المتصفح للتعامل مع CSV
عالج بيانات الجداول مباشرة في متصفحك دون رفعها إلى خوادم خارجية:
- محول JSON إلى CSV: إضافة UTF-8 BOM وتحديد الفواصل ونهايات الأسطر CRLF/LF.
- محول Excel إلى CSV/JSON: تحويل محلي مباشر في ذاكرة الجهاز عبر مكتبة SheetJS.
- مركز أدوات المطورين: مجموعة شاملة من أدوات فحص وتنسيق البيانات.
المراجع التقنية والمعايير الرسمية
- IETF RFC 4180: التنسيق الشائع ونوع MIME لملفات القيم المفصولة بفواصل (CSV) (قواعد الاقتباس ونهايات CRLF).
- Microsoft Learn / Support: استيراد أو تصدير ملفات النصوص (.txt أو .csv) في Microsoft Excel (خطوات حفظ أنواع البيانات عبر Power Query).
- Unicode Consortium: الأسئلة الشائعة – إرشادات ترميز UTF-8 وUTF-16 وعلامة ترتيب البايتات (BOM).