Skip to content

feat(xlsx): render embedded charts on chart-only sheets as line plots#324

Merged
developer0hye merged 1 commit into
mainfrom
feat/xlsx-chart-only-sheets
Jul 18, 2026
Merged

feat(xlsx): render embedded charts on chart-only sheets as line plots#324
developer0hye merged 1 commit into
mainfrom
feat/xlsx-chart-only-sheets

Conversation

@developer0hye

Copy link
Copy Markdown
Owner

Summary

  • An embedded chart on a sheet with no cells was dropped entirely: the sheet was skipped like XLSX: render worksheet drawings and images #238's image-only sheets, and that fix did not extend to charts. The audited workbook rendered only the source cells
  • Emit the sheet's charts on a page from both the streaming and non-streaming paths (extending the empty-sheet handling)
  • Charts that omit <c:cat> now get implicit 1..N category labels like Excel
  • Line/area charts render as an axis-scaled polyline plot (gridlines, value/category axes, per-series lines with markers, legend) built on PPTX: preserve native chart layout and value formatting #217's axis foundation — instead of the trend-indicator table

Test plan

  • New tests: the embedded chart is extracted with its series (integration); the line plot emits polyline paths, gridlines, legend, category labels (codegen). Updated the old line trend-indicator test for the new plot output
  • Full workspace suite passes; fmt --check clean; clippy -D warnings clean

Visual verification (public WithChart fixture vs Excel GT, chart page)

Excel GT Before After
gt before after

The two-series line chart (rising blue, dipping orange) renders with gridlines, a 1–6 category axis, and a legend, matching GT. Before, the chart was omitted entirely.

After-image re-audit

Minor accepted differences: value axis rounds to 0–20 (GT uses Excel's 0–18), and series 2 uses the Office accent2 orange (GT's chart XML applies a red). No new issues.

Related: #239

🤖 Generated with Claude Code

An embedded chart living on a sheet with no cells was dropped entirely
(the sheet was skipped like #238's image-only sheets, which that fix
did not extend to charts) — the audited workbook showed only source
cells. Emit the sheet's charts on a page from both the streaming and
non-streaming paths. Charts that omit <c:cat> now get implicit 1..N
category labels like Excel, and line/area charts render as an
axis-scaled polyline plot (gridlines, value/category axes, per-series
lines with markers, legend) instead of a trend-indicator table.

Related: #239

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Signed-off-by: Yonghye Kwon <developer.0hye@gmail.com>
@developer0hye
developer0hye merged commit b51f61d into main Jul 18, 2026
14 checks passed
@developer0hye
developer0hye deleted the feat/xlsx-chart-only-sheets branch July 18, 2026 11:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant