כיצד לייצא 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.")

הפלט הוא טבלת Markdown סטנדרטית:

| 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 כמחרוזת Python:

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'

סיבה: החבילה אינה מותקנת או שהשם של החבילה שגוי.
פתרון: הפעל 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 לתצורה נוספת.

האם אני יכול להריץ זאת ב‑Linux או macOS?

כן. הספרייה פועלת ב‑Windows, Linux ו‑macOS ללא צורך בהגדרות ספציפיות לפלטפורמה.


משאבים קשורים:

 עברית