Skip to content

Fix ODS read failing on empty rows written by LibreOffice - #110

Open
bact wants to merge 5 commits into
spdx:masterfrom
bact:fix-ods-empty-rows
Open

bact wants to merge 5 commits into
spdx:masterfrom
bact:fix-ods-empty-rows

Conversation

@bact

@bact bact commented Sep 18, 2026

Copy link
Copy Markdown
Collaborator

Fix ODS issues, to close #109:

  • Empty rows before/after the data return null, as in POI. This fixes phantom snippets from LibreOffice's trailing rows
  • Row/cell bounds match POI
  • Add fixtures created from LibreOffice and tests

Follow-up (not in this PR): stale range after removeRow, OdsRow.clear/removeCell, SODS trailing-row write bug

- `OdsSheet` and `OdsRow` now report row and cell bounds like POI, ignoring empty rows before and after the data (fixes phantom snippets with no ID)
- Add LibreOffice-generated ODS fixtures and a generator script
- Add parity tests against XLS/XLSX

Signed-off-by: Arthit Suriyawongkul <arthit@gmail.com>
@bact bact self-assigned this Sep 18, 2026
@bact bact added the bug Something isn't working label Sep 18, 2026
@bact
bact marked this pull request as draft September 18, 2026 23:10
Signed-off-by: Arthit Suriyawongkul <arthit@gmail.com>
Signed-off-by: Arthit Suriyawongkul <arthit@gmail.com>
Signed-off-by: Arthit Suriyawongkul <arthit@gmail.com>
Signed-off-by: Arthit Suriyawongkul <arthit@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Can't read ODS file saved from LibreOffice

1 participant