Improve Go XLSX fidelity and publish benchmarks - #174
Conversation
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: ⛔ Files ignored due to path filters (290)
📒 Files selected for processing (9)
📝 WalkthroughWalkthroughThe Go XLSX converter now preserves sparse worksheet layout, formats boolean cells, skips empty worksheets, paginates long single-column text, and retains fallback pages. Tests, benchmark coverage, ignore rules, and feature-parity records were updated. ChangesGo XLSX conversion
Estimated code review effort: 3 (Moderate) | ~25 minutes Change: Bug fix ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
🟡 Changes recommended
Unresolved critical allocation-safety findings, a moderate rendering issue, and report nits remain.
Get a fresh assessment by requesting another Copilot review.
Pull request overview
Improves Go XLSX rendering fidelity and publishes complete benchmark results.
Changes:
- Adds overflow pagination, sparse-position preservation, empty-sheet handling, and boolean formatting.
- Adds focused regression tests and rendering updates.
- Publishes benchmark reports and updates parity metadata.
File summaries
| File | Summary |
|---|---|
minipdf-go/xlsx.go |
XLSX extraction and pagination changes. Two critical findings (3 votes each) concern unbounded row and column allocations before configured limits are applied. |
minipdf-go/office.go |
Text overflow rendering updates. One moderate finding (3 votes) concerns explicit newlines being converted to spaces. |
minipdf-go/office_test.go |
Regression coverage for XLSX behavior. |
FEATURE_PARITY.md |
Updated parity status and benchmark history. |
artifacts/go-benchmark/issue/xlsx/report/comparison_report.md |
Published benchmark report. Two nit findings (2 votes and 1 vote) concern emoji markers and incorrect list numbering. |
artifacts/go-benchmark/issue/xlsx/report/comparison_manifest.json |
Benchmark case manifest. |
artifacts/go-benchmark/issue/xlsx/report/benchmark_coverage.json |
Benchmark coverage results. |
.gitignore |
Allows generated benchmark artifacts to be tracked. |
Review details
- Files reviewed: 6/299 changed files
- Comments generated: 4
- Review effort level: Lite
💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| for len(row)+1 < columnNumber { | ||
| row = append(row, "") |
| for len(lines)+1 < rowNumber { | ||
| lines = append(lines, "") |
| if noWrap { | ||
| wrapped = append(wrapped, line) | ||
| } else { | ||
| wrapped = append(wrapped, wrapText(line, textCharactersPerLine(pageSize, margins))...) | ||
| } |
|
|
||
| ## Summary | ||
|
|
||
| | # | Test Case | Valid | Text Sim | Visual Avg | Pages (M/R) | Overall | | ||
| |---|-----------|-------|----------|------------|-------------|--------| | ||
| | 1 | 🔴 Issue202609031340 | ❌ | 0.175 | 0.5866 | 3/4 | **0.4046** | | ||
| | 1 | 🔴 Academic Achievement Summary Table | ✅ | 0.3235 | 0.4218 | 9/2 | **0.3981** | |
Summary
TRUEandFALSEValidation
go test ./...go vet ./...go test -race ./...0.8436initial baseline to0.8522classic09_long_text:0.1840at1/12pages to0.8942at12/12pagesclassic11_sparse_rows:0.6990to0.9996classic12_sparse_columns:0.6993to0.9995classic30_mixed_empty_and_filled_sheets:0.6834to0.9993classic42_boolean_values:0.9264to0.98690.4929Remaining Go parity work
XLSX number/date formats, styles, merged-cell layout, images and charts; DOCX tables and images; PPTX shapes and images; and advanced font fallback/shaping remain tracked in
FEATURE_PARITY.md.Summary by CodeRabbit
New Features
TRUEorFALSE.Bug Fixes
Documentation