تخطَّ إلى المحتوى

تحويل Excel إلى XML

حوّل ورقة عمل إلى XML سليم البنية لعمليات الاستيراد والخلاصات والتكاملات، بأسماء عناصر مأخوذة من عناوين أعمدتك، وقيم بأنواعها الصحيحة، واسمَي العنصر الجذر وعنصر الصف كما تختارهما.

  • لا يُخزَّن أبدًا
  • لا طابور ولا انتظار
  • دون تسجيل ودون علامة مائية

كيف تعمل الأداة

1

أضف المصنف

أفلِت ملف .xlsx أو .xls أو .ods واختر الورقة، مع معاينة مباشرة لـ XML.

2

سمِّ العناصر

حدّد اسمَي العنصر الجذر وعنصر الصف، واختر بين القيم الخام أو المعروضة، وما يحدث للخلايا الفارغة.

3

انسخ أو نزّل

انسخ XML أو احفظه كملف .xml.

جدول موصوف كشجرة

تصبح كل ورقة عنصرًا متكررًا لكل صف، بعنصر ابن واحد لكل عمود يحمل اسمه من صف العناوين، وهذا ما يجعل النتيجة قابلة للقراءة من أي نظام يتوقع XML بيانات لا جدول بيانات. ويجب أن تتحول أسماء الأعمدة في الطريق إلى أسماء عناصر صالحة، وXML أكثر صرامة من عنوان عمود في جدول بيانات: فالاسم لا يمكن أن يبدأ برقم، ولا أن يحتوي على مسافات أو معظم علامات الترقيم، وهو حساس لحالة الأحرف. لذا يصبح «Order Total (£)» شيئًا أكثر ترتيبًا، وقد يلزم التمييز بين عنوانين لا يختلفان إلا في علامات الترقيم.

ما ينتقل هو القيم لا المظهر. فالخلية التي تعرض £1,234.50 مخزّنة في المصنف كالرقم 1234.5 مع تنسيق مطبّق عليه، والرقم هو ما يدخل إلى XML، وهذا صحيح في الغالب، لأن النظام المستقبِل يريد القيمة لا رمز العملة. والصيغ تختفي بالطريقة نفسها: ما تحصل عليه هو ما أنتجته الصيغة، لأن XML لا مكان فيه لحفظ الصيغة نفسها. أما الألوان والخطوط والحدود والتنسيق الشرطي والمخططات والصور فلا تمثيل لها هنا على الإطلاق.

التواريخ هي ما يجب التحقق منه. يخزّن جدول البيانات التاريخ كعدد أيام منذ نقطة بداية ويعرضه عبر تنسيق، لذا قد يظهر التاريخ كـ 45356 بدلًا من تاريخ، بحسب طريقة إعداد الخلية. إن كانت التواريخ مهمة للنظام الذي سيقرأ XML، فراجعها قبل الاعتماد على الملف، وفكّر في تنسيقها كنص داخل المصنف أولًا، فهذا يزيل الالتباس تمامًا.

تُهرَّب الأحرف الخمسة التي يحجزها XML (علامة &، وقوسا الزاوية، وعلامتا الاقتباس) داخل القيم، لذا يبقى النص الذي يحتوي عليها سليمًا. وتنتج الخلايا الفارغة عناصر فارغة بدلًا من حذفها، ما يُبقي كل السجلات بالشكل نفسه ويجعل معالجة الناتج أسهل بكثير من ناتج تختفي منه الحقول الناقصة ببساطة. ويجب إزالة كلمة المرور من المصنفات المحمية بكلمة مرور أولًا.

عندما تحتاج إلى شيء آخر

حين يجب أن يطابق XML مخططًا (schema) محددًا، كصيغة قطاعية أو إقرار حكومي أو صيغة استيراد لنظام ما، فلن ينتجه تحويل عام، ولن يفعل ذلك أي قدر من الإعدادات هنا. هذه مهمة ربط وتحويل: XSLT يحوّل هذا الناتج إلى الشكل المطلوب، وxmllint --schema يتحقق من النتيجة قبل أن ترسلها.

لأي عمل متكرر، اكتب سكربتًا. مكتبتا openpyxl وpandas في Python تقرآن المصنف وتكتبان أي XML تحدده، مع التحكم في طريقة كتابة التواريخ والأرقام، وهذا هو الجزء المهم. ومن المفيد أن تسأل إن كان XML هو الهدف فعلًا، فمعظم الأنظمة المبنية في هذا العقد تفضّل JSON أو CSV، وغالبًا ما يكون XML متطلبًا موروثًا من نظام أقدم.

الأسئلة الشائعة

كيف يبدو ملف XML الناتج؟

عنصر واحد لكل صف، وبداخله عنصر ابن لكل عمود يحمل اسم عنوانه: <rows><row><Name>Ada</Name><Joined>2024-03-15</Joined></row>…</rows>. أنت تختار اسمَي الجذر والصف، ويمكن تصدير عدة أوراق معًا، كلٌّ منها داخل عنصر خاص بها.

عناوين أعمدتي تحتوي على مسافات ورموز، فهل هذه مشكلة؟

لا. تتحول العناوين إلى أسماء XML صالحة: «First Name» تصبح First_Name، و«2024 Sales» تصبح _2024_Sales، وتُرقَّم العناوين المكررة، لذا يكون الناتج دائمًا سليم البنية.

كيف تُكتب التواريخ والأرقام؟

القيم الخام تعطي أرقامًا عادية وتواريخ بصيغة ISO 8601 (2024-03-15 و14:30:00) يستطيع أي نظام قراءتها. أما القيم المعروضة فتكتب النص الذي يعرضه Excel بالضبط، بما في ذلك التنسيقات.

ما هي صيغة XML Spreadsheet 2003؟

صيغة XML يفتحها Excel مباشرة، وتحتفظ بكل ورقة بأرقامها وتواريخها ونصوصها. اخترها حين يطلب نظام ما «Excel XML» بدلًا من XML البيانات الخاص بك.

هل يُخزَّن جدول بياناتي في أي مكان؟

لا. يُقرأ المصنف ويُكتب XML هنا؛ لا يُرسَل أي شيء إلى أي مكان، ولا يُخزَّن أي شيء.

ماذا يحدث للصيغ والتنسيق؟

تُكتب الصيغ كقيمها المحسوبة. أما التنسيق والمخططات والصور فليست جزءًا من XML البيانات.

معلومة مفيدة: يحمل XML البيانات القيم فقط، دون تنسيق أو مخططات أو صور. ويجب إزالة كلمة المرور من المصنفات المحمية بكلمة مرور أولًا.

أضِف هذه الأداة إلى موقعك

مجانية لأي مدونة أو صفحة فصل دراسي أو مقالة مساعدة. الصق مقتطفًا واحدًا وسيتمكن زوارك من استخدامها مباشرةً على صفحتك.