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]
