PythonでExcelをMarkdownにエクスポートする方法

PythonでExcelをMarkdownにエクスポートする方法

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 で Excel を Markdown にエクスポートするのか?

  1. Office 依存なし: ネイティブ COM や Office のインストールなしで、完全に Python だけで変換します。
  2. インメモリサポート: MarkdownHandler を使用して、ディスク I/O なしで Markdown 文字列を生成します。
  3. カスタマイズ可能な出力: MarkdownSaveOptions を介してエクスポート動作を構成します。
  4. パイプラインフレンドリー: ドキュメントジェネレータ、Hugo 静的サイト、または GitHub Actions ワークフローに直接統合できます。

ステップバイステップガイド

ステップ 1: Python 用 Aspose.Cells FOSS をインストール

pip を使用して PyPI からライブラリをインストールします:

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 を生成 (ファイル I/O なし)

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.")

これにより、すべてのセル値と基本的な構造が保持されます。 Note: 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-pythonaspose-cells-foss の代わりに)をインストールしました。
対処: pip install aspose-cells-foss を実行し、from aspose.cells_foss import Workbook を確認してください。

4. 出力ファイルのエンコーディングの問題

原因: UTF-8 エンコーディングを指定せずに Markdown 文字列をファイルに書き込んでいる。
対策: 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 にエクスポートできます。

複数のシートがあるときに、1枚のシートだけをエクスポートするにはどうすればよいですか?

デフォルトでは、save_as_markdown() は最初のワークシートをエクスポートします。追加の構成には MarkdownSaveOptions インスタンスを渡してください。

Linux または macOS でこれを実行できますか?

はい。ライブラリは Windows、Linux、macOS 上で、プラットフォーム固有のセットアップなしで実行できます。


関連リソース:

 日本語