Skip to content

Point each exported chart series at its own column (#59) - #240

Merged
SuruchBoss merged 5 commits into
mainfrom
claude/new-session-m6mehm-59
Oct 5, 2026
Merged

SuruchBoss merged 5 commits into
mainfrom
claude/new-session-m6mehm-59

Conversation

@SuruchBoss

@SuruchBoss SuruchBoss commented Oct 5, 2026 •

Copy link
Copy Markdown
Owner

What this changes

Closes #59, the last of the sprint-final queue. This takes the fix route, not the README-limit route. The fix is the small one #59 itself suggests: carry each series' source column in ChartSeries, with a test that fails on main.

The bug: chartDataFrom skips a column with no numbers, so a text column between the labels and the numbers is not a series. seriesRefsFrom built each reference from the series' position (startCol + labelOffset + index), not from its column. With Branch | Notes | Q1 | Q2, the exported chart therefore referred to Notes and Q1. The chart in the app was right, and the cached values in the file were right too. But Excel re-reads the references, so it drew the wrong data.

The fix:

  • ChartSeries gains column: the column it was read from, counted from the range's first column. chartDataFrom fills it in.
  • seriesRefsFrom builds the name and value references from that column. The same goes for a pie's chosen series, which used seriesIndex as a column offset in the same way.
  • Nothing else reads the field. The on-screen chart and the PDF draw from points, as before.

Reproduced on main first

The steps are the issue's: Branch | Notes | Q1 | Q2 with 4 rows, A1:D5, bar chart, export.

main this PR
Q1 series Sheet1!$B$1, $B$2:$B$5 (Notes) Sheet1!$C$1, $C$2:$C$5
Q2 series Sheet1!$C$1, $C$2:$C$5 (Q1) Sheet1!$D$1, $D$2:$D$5
Pie of the second series $C$2:$C$5 (Q1) $D$2:$D$5 (Q2)
Categories $A$2:$A$5 $A$2:$A$5

How it was verified

Gate Result
lint · check:readme · check:screens pass
check:deps every advisory fixed or accounted for
test 2025 passed (2014 by the README's static count)
check:mutants 32/32 killed
build · check:bundle 3804/4200 KB, largest chunk 934/1300 KB
check:a11y 121 checks passed
check:e2e 60 flows passed

The branch

Head: claude/new-session-m6mehm-59, a second branch the owner allowed so #219 and #59 could be open together. It was opened stacked on PR #239; now that #239 is in main, its base is main, and the merge of main was pushed after the base changed so CI and CodeQL run against main.

🤖 Generated with Claude Code

https://claude.ai/code/session_013pmWZsbmugfpqtYazrzfjj

claude added 4 commits October 5, 2026 01:23
chartDataFrom skips a column with no numbers, so a text column between
the labels and the numbers is not a series. seriesRefsFrom counted the
series' position instead of their column, so with Branch | Notes | Q1 |
Q2 the exported chart referred to Notes and Q1. The app's chart was right,
but Excel re-reads the references and drew the wrong data.

ChartSeries now carries the column it came from, and the references are
built from it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013pmWZsbmugfpqtYazrzfjj
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013pmWZsbmugfpqtYazrzfjj
Brings in #51's later commits, #235 and #219. Only the counts conflicted;
recounted to 2014 tests in 145 files, picture 27 retaken in both languages
and the social card rebuilt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013pmWZsbmugfpqtYazrzfjj
@vercel

vercel Bot commented Oct 5, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
excel-to-go Ready Ready Preview Oct 5, 2026 4:57am UTC

@SuruchBoss
SuruchBoss changed the base branch from claude/new-session-m6mehm-219 to main October 5, 2026 04:56
@SuruchBoss
SuruchBoss merged commit 726af92 into main Oct 5, 2026
18 checks passed

Copy link
Copy Markdown
Owner Author

PO review: merged at 6f54079. The merge commit is 726af92.

  • npm run verify: all ten gates green on 37f87a2. That head has the same tree as 6f54079 (f9e0736), so the run counts for the merged head. 2025 tests passed, mutants 32/32, a11y 121 checks, e2e 60 flows.
  • CI: green on 6f54079.

I tried it as a user on a production build. I typed the issue's table, Branch | Notes | Q1 | Q2 with 4 rows, selected A1:D5, and made a bar chart and a pie. I set the pie to Q2, then exported and unzipped the file:

Chart Name Values Categories
chart1.xml bar, Q1 Sheet1!$C$1 $C$2:$C$5 $A$2:$A$5
chart1.xml bar, Q2 $D$1 $D$2:$D$5 $A$2:$A$5
chart2.xml pie $D$1 $D$2:$D$5 $A$2:$A$5
  • Nothing points at the Notes column (B).
  • The on-screen bar and pie match the table.
  • The exported file opens back in the app.
  • There were no page errors or alerts at 1280, and none on load at 390.

After this merge, the hold set has one ticket left: #241. Opening an .xlsx turns 0 and negative date/time cells into text.


Generated by Claude Code

This branch was successfully deployed

1 active deployment
Preview — 6f540793 Deployed Oct 5, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants