Cómo exportar Excel a Markdown en Python

Cómo exportar Excel a Markdown en Python

Exportar datos de Excel a Markdown es un requisito común para los tubos de documentación, generadores README y flujos de trabajo del sitio estático. Aspose.Cells FOSS for Python Esto hace que sea una operación de un solo método a través de workbook.save_as_markdown():No se requiere Microsoft Office.

Nota: Aspose.Cells FOSS exporta a XLSX, CSV, TSV, Markdown y JSON. PDF export no forma parte de la biblioteca Foss.

¿Por qué exportar Excel a Markdown con Aspose.Cells FOSS?

  1. No hay dependencia de oficina:Convertir completamente en Python sin instalación nativa COM o Office.
  2. Apoyo en memoria: Generar las líneas de marcado sin ningún disco I/O utilizando MarkdownHandler.
  3. Producción personalizable:Configura el comportamiento de exportación a través del MarkdownSaveOptions.
  4. Pipe-friendly: Integra directamente en los generadores de documentación, sitios estáticos de Hugo o flujos de trabajo de acciones de GitHub.

Guía paso a paso

Paso 1: Instalar Aspose.Cells FOSS para Python

Instalar la biblioteca de PyPI utilizando pip:

pip install aspose-cells-foss

Verificar la instalación:

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

Paso 2: Crear un libro de trabajo y los datos populares

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

Paso 3: Exportación a la marca de baja

llamadas workbook.save_as_markdown() con A .md Path de salida:

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

La salida es una tabla de marcado estándar:

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

Paso 4: Personalizar con MarkdownSaveOptions

Uso 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)

Pasar a MarkdownSaveOptions El caso de save_as_markdown() para la configuración.


Paso 5: Generar Markdown en memoria (No archivo I/O)

Uso MarkdownHandler.save_markdown_to_string() Para obtener el Markdown como una línea de 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 conserva todos los valores de las células y la estructura básica. Nota de: Marca de las exportaciones cell.value Sólo — las células que contienen sólo una fórmula sin valor cache aparecerán blancas en la salida. La biblioteca no evalúa las fórmulas en el momento de exportación. Para asegurar que los resultados de la fórma aparezcan, abren primero el archivo en Excel o LibreOffice (que evalua y cacha los resultado de las Fórmules), salvo como XLSX, luego re-exportan.


Paso 7: El tratamiento de errores

Envasar las exportaciones en pro/excepto bloques para uso de 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 False

Problemas y soluciones comunes

1. Empty Markdown output

Causas:La hoja de trabajo no tiene células populadas. Fixado:Confirmando ws.cells["A1"].value Se establece y no None Antes de llamar save_as_markdown().

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

Causas:El paquete no se instala o el nombre de paquetes equivocado se utilizó. Fixado:• Correr pip install aspose-cells-foss.La importación es from aspose.cells_foss import ... (Sin embargo, no es un punto de vista).

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

Causas:Se ha instalado el paquete equivocado (aspose-cells-python En lugar de aspose-cells-foss). Fixado: pip install aspose-cells-foss y confirmar from aspose.cells_foss import Workbook.

4. Encoding issues in output file

Causas:Escribir la barra de marcado en un archivo sin especificar el codificación UTF-8. Fixado:• Uso MarkdownHandler.save_markdown_to_string() y escribe explicitamente:

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

Preguntas frecuentes

¿Puedo exportar a PDF en lugar?

No. PDF no está disponible en Aspose.Cells FOSS. Utilice el comercial aspose-cells-python Pachete para la salida de PDF.

¿Qué formatos de entrada puedo cargar y luego exportar a Markdown?

Los archivos XLSX y CSV se pueden cargar con Workbook("file.xlsx") Y luego se exportó a Markdown.

¿Cómo exportar una sola hoja cuando hay varias hoja?

por defecto, save_as_markdown() La primera edición de la obra. pasamos a MarkdownSaveOptions Por ejemplo, para una configuración adicional.

¿Puedo hacer esto en Linux o MacOS?

La biblioteca se ejecuta en Windows, Linux y macOS sin ninguna configuración específica de la plataforma.


Recursos relacionados:

 Español