چگونه 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 نیست.
چرا اکسل را به مارکداون با Aspose.Cells FOSS صادر کنیم؟
- بدون وابستگی به Office: بهصورت کامل در پایتون تبدیل میکند بدون نیاز به COM بومی یا نصب Office.
- پشتیبانی در حافظه: رشتههای Markdown را بدون هیچ ورودی/خروجی دیسک با استفاده از
MarkdownHandlerتولید میکند. - خروجی قابل تنظیم: رفتار صادرات را از طریق
MarkdownSaveOptionsپیکربندی کنید. - دوستدار خط لوله: مستقیماً در ژنراتورهای مستندات، سایتهای ایستاتیک Hugo یا جریانهای کاری GitHub Actions یکپارچه شود.
راهنمای گام به گام
مرحله ۱: نصب Aspose.Cells FOSS برای Python
کتابخانه را از PyPI با استفاده از pip نصب کنید:
pip install aspose-cells-fossنصب را تأیید کنید:
from aspose.cells_foss import Workbook
print("Ready.")مرحله ۲: ایجاد یک Workbook و پر کردن دادهها
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 در حافظه (بدون File I/O)
از 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 ذخیره کنید، سپس دوباره خروجی بگیرید.
مرحله ۷: مدیریت خطا
صادرات را در بلوکهای 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. خروجی خالی مارکداون
Cause: برگه کاری هیچ سلولی پر نشده است.
Fix: قبل از فراخوانی save_as_markdown()، تأیید کنید ws.cells["A1"].value تنظیم شده و None نیست.
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. مشکلات رمزگذاری در فایل خروجی
Cause: نوشتن رشته Markdown به یک فایل بدون مشخص کردن رمزگذاری UTF‑8.
Fix: استفاده از MarkdownHandler.save_markdown_to_string() و نوشتن بهصورت صریح:
with open("output.md", "w", encoding="utf-8") as f:
f.write(md_string)سوالات متداول
آیا میتوانم بهجای آن به PDF صادر کنم؟
خیر. خروجی PDF در Aspose.Cells FOSS موجود نیست. برای خروجی PDF از بسته تجاری aspose-cells-python استفاده کنید.
کدام فرمتهای ورودی را میتوانم بارگذاری کنم و سپس به Markdown صادر کنم؟
فایلهای XLSX و CSV میتوانند با Workbook("file.xlsx") بارگذاری شوند و سپس به Markdown صادر شوند.
چگونه میتوانم فقط یک شیت را صادر کنم وقتی چندین شیت وجود دارد؟
بهطور پیشفرض، save_as_markdown() اولین برگه کاری را صادر میکند. برای پیکربندی اضافی، یک نمونه MarkdownSaveOptions را پاس دهید.
آیا میتوانم این را روی لینوکس یا macOS اجرا کنم؟
بله. کتابخانه بر روی ویندوز، لینوکس و macOS بدون نیاز به تنظیمات خاص پلتفرم اجرا میشود.
منابع مرتبط:
- Aspose.Cells FOSS for Python: راهنمای توسعهدهنده
- صادرات فرمت صفحهگسترده
- شروع کار / نصب
- مرجع API:
MarkdownHandler,MarkdownSaveOptions,Workbook.save_as_markdown() - پایگاه دانش: راهنماهای بیشتر (نمودارها، استایلدهی، بارگذاری)
- نمای کلی محصول: خلاصه ویژگیها و قابلیتها
- وبلاگ: معرفی Aspose.Cells FOSS: نمای کلی کتابخانه و شروع سریع