كيفية تصدير Excel إلى Markdown في Python

كيفية تصدير Excel إلى Markdown في Python

تصدير بيانات Excel إلى Markdown هو مطلب شائع في خطوط توثيق البيانات، مولدات README، وتدفقات عمل المواقع الثابتة. Aspose.Cells FOSS for Python يجعل ذلك عملية ذات طريقة واحدة عبر workbook.save_as_markdown(): لا حاجة إلى Microsoft Office.

ملاحظة: Aspose.Cells FOSS تصدر إلى XLSX، CSV، TSV، Markdown، و JSON. تصدير PDF ليس جزءًا من مكتبة FOSS.

لماذا تصدير Excel إلى Markdown باستخدام Aspose.Cells FOSS؟

  1. لا يعتمد على Office: يتحول بالكامل في Python دون أي COM أصلي أو تثبيت Office.
  2. دعم في الذاكرة: إنشاء سلاسل Markdown دون أي عمليات إدخال/إخراج على القرص باستخدام MarkdownHandler.
  3. إخراج قابل للتخصيص: ضبط سلوك التصدير عبر MarkdownSaveOptions.
  4. صديق للخطوط الأنابيب: دمجه مباشرةً في مولدات الوثائق، مواقع Hugo الثابتة، أو سير عمل GitHub Actions.

دليل خطوة بخطوة

الخطوة 1: تثبيت Aspose.Cells FOSS لـ Python

قم بتثبيت المكتبة من PyPI باستخدام pip:

pip install aspose-cells-foss

تحقق من التثبيت:

from aspose.cells_foss import Workbook
print("Ready.")

الخطوة 2: إنشاء دفتر عمل وتعبئة البيانات

from aspose.cells_foss import Workbook, Cell

workbook = Workbook()
ws = workbook.worksheets[0]

##Headers
ws.cells["A1"].value = "Product"
ws.cells["B1"].value = "Q1 Revenue"
ws.cells["C1"].value = "Q2 Revenue"

##Data rows
ws.cells["A2"].value = "Widget A"
ws.cells["B2"].value = 12500
ws.cells["C2"].value = 15000

ws.cells["A3"].value = "Widget B"
ws.cells["B3"].value = 8750
ws.cells["C3"].value = 9200

ws.cells["A4"].value = "Widget C"
ws.cells["B4"].value = 20000
ws.cells["C4"].value = 22500

الخطوة 3: تصدير إلى Markdown

استدعِ workbook.save_as_markdown() مع مسار إخراج .md:

workbook.save_as_markdown("report.md")
print("Markdown saved successfully.")

الإخراج هو جدول ماركداون قياسي:

| Product | Q1 Revenue | Q2 Revenue |
|---|---|---|
| Widget A | 12500 | 15000 |
| Widget B | 8750 | 9200 |
| Widget C | 20000 | 22500 |

الخطوة 4: تخصيص باستخدام MarkdownSaveOptions

MarkdownSaveOptions

from aspose.cells_foss import Workbook, Cell, MarkdownSaveOptions

workbook = Workbook()
ws = workbook.worksheets[0]
ws.cells["A1"].value = "City"
ws.cells["B1"].value = "Population"
ws.cells["A2"].value = "London"
ws.cells["B2"].value = 9000000
ws.cells["A3"].value = "Tokyo"
ws.cells["B3"].value = 13960000

options = MarkdownSaveOptions()

workbook.save_as_markdown("cities.md", options)

مرّر مثيل MarkdownSaveOptions إلى save_as_markdown() للتكوين.


الخطوة 5: إنشاء Markdown في الذاكرة (بدون إدخال/إخراج ملفات)

استخدم MarkdownHandler.save_markdown_to_string() للحصول على الـ Markdown كسلسلة بايثون:

from aspose.cells_foss import Workbook, Cell, MarkdownHandler

workbook = Workbook()
ws = workbook.worksheets[0]
ws.cells["A1"].value = "Key"
ws.cells["B1"].value = "Value"
ws.cells["A2"].value = "version"
ws.cells["B2"].value = "26.3.0"
ws.cells["A3"].value = "license"
ws.cells["B3"].value = "MIT"

md_string = MarkdownHandler.save_markdown_to_string(workbook)
print(md_string)
##Use md_string in an API response, a GitHub README template, etc.

الخطوة 6: تحميل ملف XLSX موجود وتصديره إلى Markdown

from aspose.cells_foss import Workbook

workbook = Workbook("existing_report.xlsx")
workbook.save_as_markdown("existing_report.md")
print("Markdown export complete.")

هذا يحافظ على جميع قيم الخلايا والبنية الأساسية. ملاحظة: تصدير Markdown يقرأ cell.value فقط — الخلايا التي تحتوي على صيغة فقط دون قيمة مخزنة ستظهر فارغة في الناتج. المكتبة لا تقوم بتقييم الصيغ عند التصدير. لضمان ظهور نتائج الصيغ، افتح الملف في Excel أو LibreOffice أولاً (الذي يقوم بتقييم وتخزين نتائج الصيغ)، احفظه كـ XLSX، ثم أعد تصديره.


الخطوة 7: معالجة الأخطاء

قم بلف الصادرات في كتل try/except للاستخدام في بيئة الإنتاج:

from aspose.cells_foss import Workbook

def export_to_markdown(xlsx_path: str, md_path: str) -> bool:
    try:
        workbook = Workbook(xlsx_path)
        workbook.save_as_markdown(md_path)
        return True
    except FileNotFoundError:
        print(f"Input file not found: {xlsx_path}")
        return False
    except Exception as e:
        print(f"Export failed for {xlsx_path}: {e}")
        return False

المشكلات الشائعة والحلول

1. إخراج Markdown فارغ

Cause: ورقة العمل لا تحتوي على خلايا مملوءة.
Fix: تأكد من أن ws.cells["A1"].value تم تعيينه وليس None قبل استدعاء save_as_markdown().

2. ModuleNotFoundError: No module named 'aspose.cells_foss'

Cause: الحزمة غير مثبتة أو تم استخدام اسم حزمة خاطئ.
Fix: نفّذ pip install aspose-cells-foss. الاستيراد هو from aspose.cells_foss import ... (تحتية، ليست نقطة).

3. AttributeError: 'Workbook' object has no attribute 'save_as_markdown'

السبب: قمت بتثبيت الحزمة الخاطئة (aspose-cells-python بدلاً من aspose-cells-foss).
الإصلاح: pip install aspose-cells-foss وتأكد من from aspose.cells_foss import Workbook.

4. مشكلات الترميز في ملف الإخراج

السبب: كتابة سلسلة Markdown إلى ملف دون تحديد ترميز UTF-8.
الحل: استخدم MarkdownHandler.save_markdown_to_string() واكتب صراحةً:

with open("output.md", "w", encoding="utf-8") as f:
    f.write(md_string)

الأسئلة المتكررة

هل يمكنني التصدير إلى PDF بدلاً من ذلك؟

لا. تصدير PDF غير متاح في Aspose.Cells FOSS. استخدم حزمة aspose-cells-python التجارية لإخراج PDF.

ما هي صيغ الإدخال التي يمكنني تحميلها ثم تصديرها إلى Markdown؟

يمكن تحميل ملفات XLSX و CSV باستخدام Workbook("file.xlsx") ثم تصديرها إلى Markdown.

كيف يمكنني تصدير ورقة واحدة فقط عندما يكون هناك عدة أوراق؟

بشكل افتراضي، save_as_markdown() يصدر ورقة العمل الأولى. مرّر مثيل MarkdownSaveOptions لإعدادات إضافية.

هل يمكنني تشغيل هذا على لينكس أو macOS؟

نعم. تعمل المكتبة على Windows و Linux و macOS دون أي إعداد خاص بالمنصة.


الموارد ذات الصلة:

 العربية