Skip to content

feat(xlsx): detect table-shaped cell blocks - #18

Merged
RainLib merged 1 commit into
feature/pptx-slide-removal-parityfrom
feature/xlsx-detected-table-parity
Jul 21, 2026
Merged

feat(xlsx): detect table-shaped cell blocks#18
RainLib merged 1 commit into
feature/pptx-slide-removal-parityfrom
feature/xlsx-detected-table-parity

Conversation

@RainLib

@RainLib RainLib commented Jul 21, 2026

Copy link
Copy Markdown
Owner

Summary

  • port the C# high-precision detection of table-shaped XLSX cell blocks
  • make query table return real ListObjects plus detectedtable nodes while query listobject remains real-only
  • let row[Column op value] fall back to detected blocks only when no real ListObject matches
  • preserve comma-bearing header names through structured column resolution
  • add the missing detectedtable schema and durable parity documentation

Atomic scope

This PR only changes XLSX table querying and its help/schema surface. It is stacked on PR #14 so the XLSX work remains isolated from DOCX, PPTX, and CLI lifecycle batches.

Validation

cargo fmt -- --check
cargo clippy --all-targets -- -D warnings
cargo test --workspace
cargo test -p xlsx-handler query::tests
cargo test -p officecli --test cli_smoke test_xlsx_detected_table_query_and_row_predicate

The CLI verification creates an XLSX, writes Name / Amount, USD headers and a data row, confirms query table emits /Sheet1/A1:B2 as detectedtable, confirms the comma-bearing row predicate resolves correctly, confirms query listobject stays empty, and confirms help xlsx detectedtable is available.

Merge order

Merge PR #13 first, then PR #14, then this PR. Retarget this PR to main after its base is merged.

@RainLib

RainLib commented Jul 21, 2026

Copy link
Copy Markdown
Owner Author

验证完成:

  • cargo fmt -- --check:通过
  • cargo clippy --all-targets -- -D warnings:通过
  • cargo test --workspace:通过
  • XLSX detected-table 专项单元测试:通过
  • 真实 XLSX create/add/query/help CLI smoke:通过
  • 独立 Build & Release 工作流:Lint/Test 与 7 个发布目标全部通过

CI: https://github.com/RainLib/OfficeCli-rust/actions/runs/29796097462

唯一注解是 actions/cache@v4 的 Node.js 20 弃用警告,不影响本 PR 的构建与验证结果。

Base automatically changed from feature/xlsx-sheet-scope-parity to feature/pptx-slide-removal-parity July 21, 2026 02:47
@RainLib
RainLib merged commit b0f7791 into feature/pptx-slide-removal-parity Jul 21, 2026
9 checks passed
@RainLib
RainLib deleted the feature/xlsx-detected-table-parity branch July 21, 2026 02:50
@RainLib RainLib mentioned this pull request Jul 21, 2026
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