地平線まで行ってくる。

記録あるいは忘備録。時には検討事項。

方眼紙Excelから情報を抽出してみる。

方眼紙Excel(紙/神Excel)」からのデータ抽出は、その使い方の多様さゆえに、単純な表形式変換では困難を極めます。しかし、最近ではDoclingなどにより、生成AIと親和性の高い抽出が現実的になってきました。

セルの結合を多用したシートは特に難易度が高いですが、VLM(視覚言語モデル)を活用し、画面キャプチャをそのまま入力するだけでも、かなりの精度で情報を抽出できます。ただし、VLMには画像サイズの制限があり、巨大なシートでは文字や罫線が潰れて精度が低下するほか、再利用し難いという課題もあります。

そこで、方眼紙Excelからの情報抽出にチャレンジしました。Excelの実体であるOffice Open XMLを直接解析し、構造を再構築する手法を採りました。具体的には、罫線情報を保持したままHTML形式に変換してLLMに渡すことで、正確な構造化を実現しています。さらに、LibreOfficeによる画像レンダリングを併用してLLMの理解を補完させます。ただし、画像レンダリングは、方眼紙エクセルに関しては大きな効果はありませんでした。だいたい、HTMLで表現できているためだと考えています。

 

上記の考えで作成したパイプライン:

github.com

 

例えば、以下の様なシートを変換してみます。

 

Markdown(key Value形式)

# 報告書

- **title**: 業務完了報告書
## reporter
- **name**: 山田 太郎
- **date**: 2026-03-02
## content
- **summary**: 本日、プロジェクトAの主要なマイルストーンを達成しました。
### details
- XMLマップ抽出ロジックの構築
- Gemini 2.0 Flashによる構造化テスト
## work_details
- id: 1, task_name: 環境構築, duration_hours: 2
- id: 2, task_name: コード実装, duration_hours: 4.5
- id: 3, task_name: テスト, duration_hours: 1.5

 

YAML形式

title: 業務完了報告書
reporter:
  name: 山田 太郎
date: 2026-03-02
content:
  summary: "本日、プロジェクトAの主要なマイルストーンを達成しました。"
  details:
    - "XMLマップ抽出ロジックの構築"
    - "Gemini 2.0 Flashによる構造化テスト"
work_details:
  - id: 1
    task_name: 環境構築
    duration_hours: 2
  - id: 2
    task_name: コード実装
    duration_hours: 4.5
  - id: 3
    task_name: テスト
    duration_hours: 1.5

 

gemini-3.1-flash-lite-previewを使って、巨大な方眼紙エクセルでも試してみましたが、無事にそれらしい出力が得られました。ちょっとした工夫ですが、有効でした。

 

まだ、細部が雑ですが、XML解析で対応できる範囲も分かったので収穫でした。