360 Secure SkillHub
360 安全技能中心

Office Document Extractor

这是纯Python实现的无外部依赖工具,可将DOCX、XLSX、PPTX转为结构化Markdown,提取文本及基本结构(如Word标题段落、Excel表格、PPT幻灯片章节)。支持单文件和批量目录转换,完全离线可用,无需pip安装或网络调用。适合提取Office文档文本用于分析、索引或LLM处理的场景,输入为Office文档/目录,输出为对应Markdown文件,可指定输出路径。

michealxie001
michealxie001
热度 39.83
最近更新 2026-05-11 17:47:26
分类:效率依赖:代码执行 / 读写文件应用场景:文件转换

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add office-doc-extractor
Metadata
name
office-doc-extractor
description
Convert Microsoft Office documents (DOCX, XLSX, PPTX) to Markdown without any external dependencies. Use when the user needs to extract text from Word documents, Excel spreadsheets, or PowerPoint presentations for analysis, indexing, or LLM processing. Pure Python implementation — no pip install, no subprocess calls, no network downloads required. Works offline.

Office Document Extractor

Zero-dependency converter for Microsoft Office documents. Extracts text and structure from DOCX, XLSX, and PPTX files into clean Markdown.

Quick Start

# Single file
python3 scripts/main.py report.docx -o report.md

# Batch convert a directory
python3 scripts/main.py ./documents --batch -o ./markdown

Supported Formats

Format Extension Output
Word .docx Headings, paragraphs
Excel .xlsx Tables (one per sheet)
PowerPoint .pptx Slides as sections

How It Works

  • DOCX: Parses the ZIP archive's XML directly using Python's zipfile and xml.etree
  • XLSX: Uses bundled openpyxl (pure Python, no C extensions)
  • PPTX: Parses the ZIP archive's slide XML directly

No external commands, no network calls, no pip install required.

Usage

Single File

python3 scripts/main.py <input_file> [-o <output.md>]

Auto-detects format from file extension. If -o is omitted, outputs to <input>.md.

Batch Conversion

python3 scripts/main.py <input_directory> --batch [-o <output_directory>]

Converts all .docx, .xlsx, .pptx files in the directory. Results saved to markdown_output/ by default.

Resources

scripts/

  • main.py — Unified CLI for single-file and batch conversion
  • docx_extractor.py — DOCX → Markdown (standard library only)
  • xlsx_extractor.py — XLSX → Markdown tables (bundled openpyxl)
  • pptx_extractor.py — PPTX → Markdown (standard library only)

Bundled Dependencies

  • openpyxl/ — Pure Python Excel library (v3.1.5)
  • et_xmlfile/ — openpyxl dependency (pure Python)

Limitations

  • Does not extract images or embedded objects (text only)
  • Does not preserve complex formatting (colors, fonts, layouts)
  • Does not handle encrypted/password-protected files
  • No OCR for scanned documents (use OpenClaw's native pdf tool for that)

Why This Skill?

Existing markitdown-based skills require pip install or external CLI tools, which triggers ClawHub security warnings. This skill is 100% self-contained — install it and use it immediately, even offline.