text-to-excel

Installation
SKILL.md

Text-to-Excel

将结构化文本转换为格式规整的Excel文件。

Workflow

Step 1: Parse User Input

Analyze user-provided structured text. Supported input formats:

  • Markdown tables (| col1 | col2 |)
  • Plaintext tables (tab/space-separated)
  • CSV/TSV data
  • Lists (bulleted, numbered)
  • Key-value pairs
  • JSON/dict-like structures
  • Free-form text with identifiable tabular structure
  • Descriptions of desired table content

Identify: headers, data rows, data types per column, and any special formatting requests.

Step 2: Ask for Output Path

Ask the user for the save path. Suggest a reasonable default filename based on the content (e.g. ~/Desktop/sales_data.xlsx).

Step 3: Build JSON Config

Construct a JSON config object following the schema in references/config_schema.md.

Minimal example:

{
  "sheets": [{
    "name": "Sheet1",
    "headers": ["Name", "Age", "City"],
    "data": [
      ["Alice", 30, "Beijing"],
      ["Bob", 25, "Shanghai"]
    ]
  }]
}

Full-featured example with styles, charts, and validation:

{
  "sheets": [{
    "name": "Sales",
    "title_row": {"text": "Q1 Sales Report", "style": {"font": {"bold": true, "size": 16}}},
    "headers": ["Month", "Revenue", "Growth"],
    "data": [
      ["January", 50000, 0.12],
      ["February", 62000, 0.24],
      ["March", 58000, 0.16]
    ],
    "column_types": ["text", "currency_cny", "percent"],
    "freeze_pane": "A2",
    "auto_filter": true,
    "charts": [{
      "type": "bar",
      "title": "Monthly Revenue",
      "x_column": 1,
      "y_columns": [2],
      "position": "E2"
    }],
    "conditional_formats": [{
      "type": "color_scale",
      "range": "B2:B4"
    }]
  }]
}

Step 4: Generate Excel

  1. Write the JSON config to a temp file
  2. Run: python3 scripts/generate_excel.py <config.json> <output_path>
  3. Verify the file was created
  4. Report success with the file path

Style Defaults

The script applies professional defaults automatically:

  • Headers: Blue background (#4472C4), white bold text, centered
  • Data rows: Alternating gray/white bands, thin borders
  • Column widths: Auto-calculated based on content length
  • Title row (optional): Large bold text, merged across all columns

Override any default by specifying header_style, data_style, or per-cell styles in the config.

Advanced Features

  • Multi-sheet: Add multiple objects to the sheets array
  • Merge cells: Use merge_cells with range strings or row/col objects
  • Freeze pane: Set freeze_pane to e.g. "A2" to freeze header row
  • Auto-filter: Set auto_filter: true to enable dropdown filters
  • Charts: Bar, line, pie, area, scatter charts — see references/config_schema.md
  • Data validation: Dropdown lists, numeric ranges, date ranges, text length limits
  • Conditional formatting: Cell-based rules, color scales, data bars
  • Number formats: Predefined (percent, currency_cny, currency_usd, date) or custom Excel format strings
  • Print settings: Orientation, paper size, fit-to-page

See full schema: references/config_schema.md

Related skills

More from yipng05-max/-skills

Installs
6
GitHub Stars
101
First Seen
Apr 1, 2026