Como exportar Excel para Markdown em Python

Como exportar Excel para Markdown em Python

A exportação de dados do Excel para o Markdown é um requisito comum para pipelines de documentação, geradores README e fluxos de trabalho estáticos no site. Aspose.Cells FOSS for Python torna esta uma operação de um único método através da workbook.save_as_markdown(): não é necessário o Microsoft Office.

Nota::Os formatos de saída suportados são XLSX, CSV, TSV e JSON. O comercial é o mais vendido do mundo. aspose-cells-python O pacote é necessário para atingir objectivos de exportação adicionais.

Por que exportar Excel para Markdown com Aspose.Cells FOSS?

  1. Não dependência do Gabinete: Converte inteiramente para Python sem instalação nativa de COM ou Office.
  2. Suporte em memória: Gerar cadeias de Markdown sem qualquer disco I / O usando MarkdownHandler.
  3. Saúde de consumo:Configurar o comportamento de exportação via: MarkdownSaveOptions.
  4. Amigável aos gasodutos: Integra-se diretamente em geradores de documentação, sites estáticos Hugo ou fluxos de trabalho Ações do GitHub.

Guia passo a passo

Passo 1: Instalar Aspose.Cells FOSS para Python

Instalar a biblioteca do PyPI usando o comando pip abaixo:

pip install aspose-cells-foss

Verificar a instalação importando: Workbook e impressão de uma mensagem de confirmação:

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

Passo 2: Criar um livro de trabalho e preencher os dados

Criar um novo código de identificação . Workbook, acessar a primeira planilha e escrever os valores de cabeçalho e dados nas células:

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

Etapa 3: Exportação para a marcação de baixa

Chama-me . workbook.save_as_markdown() com um .md caminho de saída para escrever a folha de cálculo preenchida como um ficheiro da tabela Markdown:

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

O método escreve uma tabela de tubos Markdown padrão; o arquivo de saída é assim:

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

Passo 4: Personalizar com MarkdownSaveOptions

Instanciar MarkdownSaveOptions E passar como o segundo argumento para save_as_markdown() para controlar o formato de saída:

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)

Passar um MarkdownSaveOptions instância a save_as_markdown() para configuração.


Passo 5: Gerar Marcação na memória (Sem ficheiros de E/S)

Utilização: MarkdownHandler.save_markdown_to_string() para obter o Markdown como uma cadeia 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.

Passo 6: Carregar um XLSX existente e Exportar para Markdown

Carregar uma pasta de trabalho XLSX existente passando o seu caminho para Workbook(),Então , liga-me . save_as_markdown() para a conversão:

from aspose.cells_foss import Workbook

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

Isto preserva todos os valores das células e a estrutura básica. Nota: Marca de exportação para baixo cell.value apenas as células que contêm somente uma fórmula sem valor armazenado em cache aparecerão em branco na saída. A biblioteca não avalia fórmulas no momento da exportação. Para garantir que os resultados das fórmulas apareçam, abra primeiro o arquivo no Excel ou LibreOffice (que avalia e guarda em caché os efeitos de fórmula), salve como XLSX e depois reexporte.


Passo 7: Tratamento de erros

Envolver a chamada de exportação num bloco try/except para lidar com arquivos de entrada faltantes e outros erros no tempo de execução do código de produção:

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 comuns e soluções

1. Empty Markdown output

Causa da morte: A folha de cálculo não possui células preenchidas. Correção:Confirmação: ws.cells["A1"].value está definido e não None Antes de ligares. save_as_markdown().

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

Causa da morte: O pacote não está instalado ou foi utilizado o nome errado do pacoe. Correção:Correr . pip install aspose-cells-foss.A importação é: from aspose.cells_foss import ... (sublinhação, não ponto).

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

Causa da morte:- Instalaram o pacote errado .aspose-cells-python em vez de: aspose-cells-foss). Correção: pip install aspose-cells-foss e confirmar: from aspose.cells_foss import Workbook.

4. Encoding issues in output file

Causa da morte: Escrever a cadeia Markdown para um arquivo sem especificar codificação UTF-8. Correção:Utilização: MarkdownHandler.save_markdown_to_string() para obter uma cadeia Python, em seguida escreva-lo no disco com explícito utf-8 Código:

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

Perguntas Frequentes

Posso exportar para PDF?

A saída de PDF está fora do escopo da edição FOSS. Use o formato comercial aspose-cells-python pacote para saída PDF.

Que formatos de entrada posso carregar e exportar para o Markdown?

XLSX e CSV arquivos podem ser carregados com Workbook("file.xlsx") E depois exportado para Markdown.

Como posso exportar apenas uma folha quando há várias folhas?

Por padrão, save_as_markdown() Exporta a primeira folha de cálculo. Passe um MarkdownSaveOptions instância para configuração adicional.

Posso executar isto no Linux ou MacOS?

Sim, a biblioteca funciona no Windows, Linux e macOS sem qualquer configuração específica para plataforma.


Recursos relacionados:

Ver também:

 Português