Excel إلى JSON

حوّل ملفات Excel إلى JSON

يدعم المصنفات التي يصل عدد صفوفها في كل الأوراق إلى 150,000 (وحجم الملف حتى 90 م.ب). يجري التحويل في متصفحك، ويوقفه زر «إلغاء».

انقر هنا أو اسحب ملف جدول بيانات أو CSV إلى هنا (Excel أو ODS أو Numbers…)اختر ملف جدول بيانات أو CSV (Excel أو ODS أو Numbers…)

نبذة عن Excel إلى JSON

تقرأ أداة «Excel إلى JSON» مصنفا (Excel بصيغة ‎.xlsx أو ‎.xlsm أو ‎.xlsb أو ‎.xls، أو OpenDocument بصيغة ‎.ods، أو Apple Numbers، أو WPS بصيغة ‎.et، أو Microsoft Works بصيغة ‎.wks أو ‎.xlr، أو Lotus ‎1-2-3، أو Quattro Pro) أو ملف ‎.csv، وتكتب كائن JSON واحدا مفاتيحه أسماء الأوراق، بما فيها الأوراق المخفية. تصبح كل ورقة مصفوفة من كائنات الصفوف تأتي مفاتيحها من الصف الأول في الورقة، ولكل الصفوف المفاتيح نفسها: الخلية الفارغة تعطي null. تصبح خلايا التاريخ نصا بتنسيق ISO 8601، ويبقى الرقم المكتوب في خلية بتنسيق «نص» (رمز بريدي مثل 02134) سلسلة نصية، وتعطي الصيغ نتيجتها المحفوظة، ويعطي خطأ الصيغة مثل ‎#N/A القيمة null. تبقى الرموز التعبيرية، بما في ذلك في الملفات التي كتبتها Python (pandas وopenpyxl). يقرأ ملف ‎.csv كنص عادي، فتبقى كل قيمة سلسلة نصية وتسمى ورقته Sheet1. يبدأ التحويل عندما تختار الملف، داخل متصفحك.

مثال

مصنف من ورقتين: Orders (خلية تاريخ، وخلية تاريخ ووقت، ورموز بريدية في خلايا بتنسيق «نص»، ونسبة مئوية، وخطأ صيغة ‎#N/A، وعمودان عنوانهما Note) وRates (سنوات كعناوين). وهذا ملف JSON الذي تعيده الأداة له:

المصنف

الورقة «Orders»:
Order | Customer | Ordered | Zip | Discount | Note | Note
1001 | Ann Lee | 2024-01-15 (خلية تاريخ) | 02134 (خلية نصية) | 10% | (فارغة) | gift
1002 | Bob Ruiz | 2024-02-29 13:45 (خلية تاريخ) | 94110 (خلية نصية) | =VLOOKUP(…) → #N/A | rush | (فارغة)

الورقة «Rates»:
Region | 2023 | 2024
West | 1.25 | 1.5

JSON

{
  "Orders": [
    {
      "Order": 1001,
      "Customer": "Ann Lee",
      "Ordered": "2024-01-15",
      "Zip": "02134",
      "Discount": 0.1,
      "Note": null,
      "Note_1": "gift"
    },
    {
      "Order": 1002,
      "Customer": "Bob Ruiz",
      "Ordered": "2024-02-29T13:45:00",
      "Zip": "94110",
      "Discount": null,
      "Note": "rush",
      "Note_1": null
    }
  ],
  "Rates": [
    {
      "2023": 1.25,
      "2024": 1.5,
      "Region": "West"
    }
  ]
}

كيفية تحويل Excel إلى JSON

  1. 1اختر المصنف أو ملف ‎.csv في منطقة الرفع (‎.xlsx أو ‎.xls أو ‎.ods أو ‎.numbers أو ‎.csv أو الصيغ الأخرى المذكورة أدناه)؛ يبدأ التحويل من تلقاء نفسه.
  2. 2إذا كان المصنف يضم عدة أوراق، تعرض أسماؤها أثناء قراءته، ويوقف «إلغاء» العمل.
  3. 3انقر على «تنزيل» لحفظ converted.json، بإزاحة مسافتين.

الصيغ والحدود

الإدخال
Excel (XLSX، XLSM، XLSB، XLS)، وOpenDocument (ODS)، وApple Numbers (NUMBERS، NUMBERS.ZIP)، وWPS (ET)، وMicrosoft Works (WKS، XLR)، وLotus ‎1-2-3 (WKS، WK1، WK3، 123)، وQuattro Pro (QPW، WB1، WQ1)، وCSV، وTSV، وTXT مفصول بعلامات الجدولة
الإخراج
كائن JSON فيه مصفوفة من كائنات الصفوف لكل ورقة
على الكمبيوتر
حتى 90 م.ب وحتى 150,000 صف في كل الأوراق مجتمعة
على الهواتف والأجهزة اللوحية
حتى 30 م.ب وحتى 50,000 صف في كل الأوراق مجتمعة

استخدامات شائعة

تعبئة قاعدة بيانات أو واجهة API تجريبية
يتلقى مطور قائمة منتجات في مصنف فيحولها إلى converted.json، مصفوفة لكل ورقة، جاهزة لسكربت التعبئة، وكل تاريخ مكتوب سلفا كنص بتنسيق ISO 8601.
تغذية صفحة ويب من جدول بيانات
يحتفظ فريق بساعات عمل متجر أو بقائمة أسعار في مصنف مشترك؛ فيعطي ملف JSON موقعا ثابتا كائنا لكل صف، بالمفاتيح نفسها في كل صف حتى حيث تركت خلية فارغة.
فحص ملف مصدر قبل استيراده
قبل استيراد ملف مصدر من نظام CRM أو متجر إلكتروني، يظهر تحويله المفاتيح والقيم التي سيتلقاها السكربت بالضبط: العناوين المكررة باسم name_1، والخلايا الفارغة بالقيمة null، والتواريخ كنص بدلا من أرقام تسلسلية.

أي أداة تختار

  • Excel إلى CSV: ملف CSV لكل ورقة، في ملف ZIP إذا تعددت الأوراق، مع اختيار الفاصل؛ وتكتب فيه النسب المئوية والمبالغ بالدولار كما يعرضها Excel، بينما تكتب هذه الأداة الرقم المحفوظ.
  • CSV إلى JSON: لملف ‎.csv تريد أنواع قيمه: تصبح الأعمدة المكونة من أرقام فقط أرقام JSON، ويمكنها أيضا كتابة مصفوفات من المصفوفات أو JSON Lines. أما هنا فيقرأ ملف ‎.csv كنص وتبقى كل قيمة سلسلة نصية.
  • JSON إلى CSV: الاتجاه المعاكس، من JSON إلى ملف CSV بصف عناوين، مع تسطيح الكائنات المتداخلة في أسماء أعمدة بنقاط.

المكان الذي تتم فيه معالجة ملفك

يقرأ جدول البيانات في متصفحك باستخدام مكتبة SheetJS، ولا يرفع. وما قد يصلنا هو تقرير خطأ: نص الخطأ بعد حذف أسماء الملفات والنص المقتبس، واسم الأداة، واسم متصفحك وإصداره.

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

هل تدرج الخلايا الفارغة؟

نعم، بالقيمة null. لكل صفوف الورقة المفاتيح نفسها، فيجد الكود الذي يقرأ الخاصية Note القيمة null بدلا من مفتاح غائب. أما الصفوف الفارغة تماما فتتخطى.

هل تحول التواريخ إلى نص؟

نعم، إلى ISO 8601: ‎2024-01-15، أو ‎2024-02-29T13:45:00 إذا كان في الخلية وقت، دون إضافة منطقة زمنية. ودون هذه الخطوة يخرج تاريخ Excel رقما تسلسليا مثل 45306.

هل يمكنني اختيار الأوراق التي أحولها؟

لا. تحول كل الأوراق، بما فيها المخفية، وكل منها تحت اسمها في ملف JSON. احذف بعد ذلك المصفوفات التي لا تحتاج إليها، أو احفظ الأوراق التي تريدها في مصنف منفصل أولا.

هل تحفظ عناوين الأعمدة المكررة؟

نعم. عندما يحمل عمودان العنوان نفسه، مثل name، يصبح الثاني name_1 في كل كائن صف، فلا تستبدل أي قيمة.

هل يجب أن يكون صف العناوين هو الصف الأول؟

نعم. يعطي الصف الأول من النطاق المستخدم في الورقة المفاتيح، فإذا كتب عنوان مثل «تقرير المبيعات 2024» فوق الجدول صار مفتاحا، وصارت العناوين الحقيقية صف بيانات. احذف الصفوف التي فوق العناوين قبل التحويل.

ماذا يحدث لعمود خلية عنوانه فارغة؟

يحفظ تحت المفتاح __EMPTY، ثم __EMPTY_1 و__EMPTY_2 للأعمدة التالية، فلا تضيع أي قيمة. اكتب عنوانا في تلك الخلية أولا إذا كان الكود يحتاج إلى اسم ذي معنى.

هل تحفظ النسب المئوية والمبالغ كما تعرض؟

لا، يكتب الرقم المحفوظ: الخلية التي تعرض 50% تعطي 0.5، والتي تعرض $9.99 تعطي 9.99. وتصبح خلايا TRUE وFALSE القيمتين true وfalse، ويبقى الرقم المكتوب في خلية بتنسيق «نص»، مثل 007، سلسلة نصية.

ماذا يحدث للخلايا المدمجة؟

تذهب القيمة إلى الصف الأول من النطاق المدمج، وتحصل الصفوف الأخرى التي يغطيها على null. ألغ دمج الخلايا واملأها إلى الأسفل في Excel أولا إذا احتاج كل صف إلى القيمة.

ماذا تعطي أخطاء الصيغ مثل ‎#N/A أو ‎#DIV/0!‎؟

تعطي null، مثل الخلية الفارغة، فلا يظهر نص الخطأ في ملف JSON. والصيغة المحفوظة دون نتيجتها، كما في ملف كتبته مكتبة openpyxl في Python ولم يفتح ويحفظ بعد في Excel، تعطي null أيضا. ابحث عن # في الورقة قبل التحويل إذا كان يجب ألا يمر خطأ دون أن تلاحظه.

لماذا تأتي الأعمدة التي عنوانها 2023 و2024 أولا في كل كائن؟

تضع JavaScript المفاتيح التي هي أعداد صحيحة أولا، بترتيب تصاعدي، أيا كان ترتيب الأعمدة: فيكتب Region | 2023 | 2024 بالشكل "2023", "2024", "Region". تبقى القيم تحت مفاتيحها الصحيحة؛ ولا يتغير إلا ترتيبها في الملف. أعد تسمية هذه العناوين، مثل FY2024، إذا كان برنامج يعتمد على ترتيب المفاتيح.

هل ينشئ عنوان مثل user.name كائنات متداخلة؟

لا. كل مفتاح هو نص العنوان كما كتب تماما، فيكون user.name وuser.age مفتاحين بسيطين في كائن الصف نفسه. وتحفظ المسافات أيضا: العنوان المكتوب Name متبوعا بمسافة يعطي المفتاح "Name "، الذي لن يجده كود يبحث عن Name.

هل تدرج الأوراق والصفوف والأعمدة المخفية؟

نعم. تحول الأوراق المخفية والصفوف المخفية والأعمدة المخفية والصفوف التي أخفاها عامل تصفية مثل الظاهرة تماما. احذفها من المصنف أولا إذا كان يجب ألا تظهر في ملف JSON.

ماذا تعطي ورقة ليس فيها إلا صف العناوين؟

مصفوفة فارغة، مثل الورقة الفارغة: فدون صف بيانات تحتها، لا تكتب أسماء العناوين في أي مكان من ملف JSON.

هل يمكنني الحصول على JSON مصغر أو على مصفوفة من المصفوفات؟

ليس من هذه الصفحة: الملف دائما كائن واحد من مصفوفات الأوراق، بإزاحة مسافتين. الصقه في «تصغير JSON» لحذف المسافات. وللحصول على مصفوفة من المصفوفات أو على JSON Lines، احفظ الورقة باستخدام «Excel إلى CSV» وحوّل ذلك الملف باستخدام «CSV إلى JSON».

هل يمكنني تحويل ملف Apple Numbers؟

نعم. يقرأ في متصفحك ملف ‎.numbers من Numbers 2013 أو أحدث، والملف الأقدم من Numbers ’08 أو ’09، ومستند Numbers المحفوظ كمجلد بعد ضغطه في ملف ZIP (Name.numbers.zip). يصبح كل جدول مصفوفة خاصة به، تحت اسم ورقته. وعندما تضم الورقة عدة جداول، يسميها ملف Numbers ’08 أو ’09 «الورقة - الجدول»، ويسميها الملف الأحدث باسم الورقة ثم الورقة_1، وهكذا.

ما الحجم الأقصى للملف؟

90 م.ب وحتى 150,000 صف في كل الأوراق مجتمعة على الكمبيوتر، و30 م.ب وحتى 50,000 صف على الهواتف والأجهزة اللوحية. قسّم المصنف الأكبر إلى عدة ملفات وحوّلها واحدا تلو الآخر.

نصائح وحيل

  • ✓قبل التحويل، انظر إلى صف العناوين: المسافة في آخر العنوان أو الاسم المكرر يغيران المفاتيح التي سيراها الكود، والسنة المستخدمة كعنوان تنقل ذلك المفتاح إلى البداية.
  • ✓للحصول على ملفات CSV بدلا من JSON، ملف لكل ورقة، استخدم «Excel إلى CSV».