Cómo exportar Excel a Markdown en Python
Exportar datos de Excel a Markdown es un requisito común para pipelines de documentación, generadores de README y flujos de trabajo de sitios estáticos. Aspose.Cells FOSS for Python lo convierte en una operación de un solo método mediante workbook.save_as_markdown(): no se requiere Microsoft Office.
Nota: Aspose.Cells FOSS exporta a XLSX, CSV, TSV, Markdown y JSON. La exportación a PDF no forma parte de la biblioteca FOSS.
¿Por qué exportar Excel a Markdown con Aspose.Cells FOSS?
- Sin dependencia de Office: Convierte completamente en Python sin COM nativo ni instalación de Office.
- Soporte en memoria: Genera cadenas Markdown sin ninguna E/S de disco usando
MarkdownHandler. - Salida personalizable: Configura el comportamiento de exportación mediante
MarkdownSaveOptions. - Amigable con pipelines: Integra directamente en generadores de documentación, sitios estáticos Hugo o flujos de trabajo de GitHub Actions.
Guía paso a paso
Paso 1: Instale Aspose.Cells FOSS para Python
Instale la biblioteca desde PyPI usando pip:
pip install aspose-cells-fossVerifique la instalación:
from aspose.cells_foss import Workbook
print("Ready.")Paso 2: Cree un libro de trabajo y rellene los datos
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 = 22500Paso 3: Exportar a Markdown
Llamar workbook.save_as_markdown() con un .md ruta de salida:
workbook.save_as_markdown("report.md")
print("Markdown saved successfully.")La salida es una tabla Markdown estándar:
| Product | Q1 Revenue | Q2 Revenue |
|---|---|---|
| Widget A | 12500 | 15000 |
| Widget B | 8750 | 9200 |
| Widget C | 20000 | 22500 |Paso 4: Personalizar con MarkdownSaveOptions
Usar MarkdownSaveOptions para controlar el formato de salida:
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)Pasa un MarkdownSaveOptions instancia a save_as_markdown() para configuración.
Paso 5: Generar Markdown en memoria (sin E/S de archivos)
Usar MarkdownHandler.save_markdown_to_string() para obtener el Markdown como una cadena 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.Paso 6: Cargar un XLSX existente y exportar a Markdown
from aspose.cells_foss import Workbook
workbook = Workbook("existing_report.xlsx")
workbook.save_as_markdown("existing_report.md")
print("Markdown export complete.")Esto preserva todos los valores de celda y la estructura básica. Nota: La exportación a Markdown lee cell.value solo — las celdas que contienen únicamente una fórmula sin valor almacenado aparecerán en blanco en la salida. La biblioteca no evalúa las fórmulas al exportar. Para garantizar que los resultados de las fórmulas aparezcan, abra el archivo en Excel o LibreOffice primero (lo que evalúa y almacena los resultados de las fórmulas), guárdelo como XLSX y luego vuelva a exportar.
Paso 7: Manejo de errores
Envuelva las exportaciones en bloques try/except para uso en producción:
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 FalseProblemas comunes y soluciones
1. Empty Markdown output
Causa: La hoja de cálculo no tiene celdas pobladas. Solución: Confirmar ws.cells["A1"].value está configurado y no None antes de llamar save_as_markdown().
2. ModuleNotFoundError: No module named 'aspose.cells_foss'
Causa: El paquete no está instalado o se usó un nombre de paquete incorrecto. Solución: Ejecutar pip install aspose-cells-foss. La importación es from aspose.cells_foss import ... (guion bajo, no punto).
3. AttributeError: 'Workbook' object has no attribute 'save_as_markdown'
Causa: Instalaste el paquete incorrecto (aspose-cells-python en lugar de aspose-cells-foss). Solución: pip install aspose-cells-foss y confirma from aspose.cells_foss import Workbook.
4. Encoding issues in output file
Causa: Escribir la cadena Markdown a un archivo sin especificar la codificación UTF-8. Solución: Usar MarkdownHandler.save_markdown_to_string() y escribir explícitamente:
with open("output.md", "w", encoding="utf-8") as f:
f.write(md_string)Preguntas frecuentes
¿Puedo exportar a PDF en su lugar?
No. La exportación a PDF no está disponible en Aspose.Cells FOSS. Use la versión comercial aspose-cells-python paquete para la salida PDF.
¿Qué formatos de entrada puedo cargar y luego exportar a Markdown?
Los archivos XLSX y CSV pueden cargarse con Workbook("file.xlsx") y luego exportarse a Markdown.
¿Cómo exporto solo una hoja cuando hay varias hojas?
Por defecto, save_as_markdown() exporta la primera hoja de cálculo. Pase un MarkdownSaveOptions instancia para configuración adicional.
¿Puedo ejecutar esto en Linux o macOS?
Sí. La biblioteca funciona en Windows, Linux y macOS sin ninguna configuración específica de la plataforma.
Recursos relacionados:
- Aspose.Cells FOSS for Python: Developer Guide
- Exportación de formato de hoja de cálculo
- Comenzando / Instalación
- Referencia de API:
MarkdownHandler,MarkdownSaveOptions,Workbook.save_as_markdown() - Base de conocimientos: Más guías prácticas (gráficos, estilo, carga)
- Descripción general del producto: Resumen de características y capacidades
- Blog: Presentando Aspose.Cells FOSS: Visión general de la biblioteca y comienzo rápido