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 にエクスポートするのか?
- Office 依存なし: ネイティブ COM や Office のインストールなしで、完全に Python だけで変換します。
- インメモリサポート:
MarkdownHandlerを使用して、ディスク I/O なしで Markdown 文字列を生成します。 - カスタマイズ可能な出力:
MarkdownSaveOptionsを介してエクスポート動作を構成します。 - パイプラインフレンドリー: ドキュメントジェネレータ、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-python を aspose-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 上で、プラットフォーム固有のセットアップなしで実行できます。
関連リソース:
- Aspose.Cells FOSS for Python: 開発者ガイド
- スプレッドシート形式エクスポート
- はじめに / インストール
- API リファレンス:
MarkdownHandler,MarkdownSaveOptions,Workbook.save_as_markdown() - ナレッジベース: チャート、スタイリング、ロードに関するハウツーガイドがさらに多数
- 製品概要: 機能と能力の概要
- ブログ: Aspose.Cells FOSS の紹介: ライブラリの概要とクイックスタート