GitHub user nkuprins added a comment to the discussion: Does it support reading 
hidden rows or columns?

Hi @MamyAKKK - I'm not a maintainer, but as I understand:

**Today: no.** Fesod provides hidden state only at the *sheet* level 
(`ReadSheet.isHidden()`, `.ignoreHiddenSheet(true)`). Individual rows and 
columns aren't covered: Fesod never reads the row `hidden` attribute or the 
`<col hidden="1">` flag, and the "extra" info it reports via 
`ReadListener.extra(...)` only covers `COMMENT`, `HYPERLINK`, and `MERGE`.

**But it may be possible to support:** The .xlsx format stores hidden state as 
a `hidden` attribute on `<row>` and `<col>`. Fesod's streaming reader already 
passes over both - it just doesn't read those attributes yet. So there's no 
whole-sheet load or second pass needed, as the information is already flowing 
through the parser.

Two ways it could **probably** be done:

- **Through the existing `extra()` channel** - add `HIDDEN_ROW` / 
`HIDDEN_COLUMN` types delivered to `ReadListener.extra(...)`, opt-in via 
`.extraRead(...)`, mirroring how `MERGE` already works. This handles rows and 
columns uniformly, and catches hidden *empty* rows too (which aren't otherwise 
delivered to the row callback).
- **A per-row flag** - e.g. `isHidden()` on the row metadata, read in 
`invoke(...)`. Reads a bit more naturally for rows, but columns still need a 
separate channel, and it can't report hidden rows that are empty (those are 
skipped before `invoke()` by default).

Since it'd be a new feature, it's probably worth opening a feature request :)

GitHub link: 
https://github.com/apache/fesod/discussions/962#discussioncomment-17701629

----
This is an automatically sent email for [email protected].
To unsubscribe, please send an email to: [email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to