Skip to content

fix: resolve all 9 remaining XLSX parsing failures#92

Merged
developer0hye merged 1 commit intomainfrom
fix/remaining-xlsx-failures
Mar 1, 2026
Merged

fix: resolve all 9 remaining XLSX parsing failures#92
developer0hye merged 1 commit intomainfrom
fix/remaining-xlsx-failures

Conversation

@developer0hye
Copy link
Owner

Summary

Root causes fixed in umya-spreadsheet fork

A. Backslash zip path separators (3 files: tdf131575, tdf76115, 49609)

  • Add zip_by_name() helper that normalizes path separators and case
  • Handle non-standard namespace prefixes (e.g. d3p1:id instead of r:id)

B. Missing optional xl/styles.xml (3 files: 56278, tdf121887, 59021)

  • Apply FileNotFound graceful handling pattern (same as shared_strings.rs)

C. Arithmetic overflow & unwrap on None (3 files)

  • functions-excel-2010.xlsx: Use saturating_add/saturating_sub in coordinate math
  • FormulaEvalTestData_Copy.xlsx: Widen i32 to i64 with .min(18) cap
  • 64450.xlsx: Guard raw_relationship.rs attributes with let-else

Test plan

  • All 97 tests pass in umya-spreadsheet fork
  • All 117 xlsx fixture tests pass in office2pdf
  • Full workspace tests pass (excluding unrelated perf timing tests)
  • No regressions in existing XLSX tests

Related: #83

🤖 Generated with Claude Code

Update umya-spreadsheet fork to pick up fixes for 9 remaining XLSX
failures: backslash zip paths, missing styles.xml, arithmetic
overflows, and missing XML attributes.

All 21 previously-panicking files (from issue #83) now produce valid
PDFs. Remove the remaining_panic_files_return_clean_errors test and
merge those 9 files into previously_panicking_files_now_convert.

Signed-off-by: Yonghye Kwon <developer.0hye@gmail.com>
@developer0hye developer0hye merged commit fc65123 into main Mar 1, 2026
13 of 14 checks passed
@developer0hye developer0hye deleted the fix/remaining-xlsx-failures branch March 1, 2026 11:46
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