Skip to content

feat(cli): Add filter/query command #134

@arcaputo3

Description

@arcaputo3

Summary

Add commands to filter data ranges or query spreadsheet data.

Syntax

# Simple filter view (doesn't modify file, just displays)
xl -f file.xlsx -s Sheet1 filter A1:F100 --where "B > 100"
xl -f file.xlsx -s Sheet1 filter A1:F100 --where "A LIKE 'Widget%'"

# SQL-like query
xl -f file.xlsx query "SELECT A, B, SUM(C) FROM Sheet1 WHERE B > 100 GROUP BY A"

Filter Expressions

  • B > 100 - Numeric comparison
  • A = "Widget" - Exact match
  • A LIKE "Widget%" - Wildcard match
  • A IN ("A", "B", "C") - Set membership
  • B BETWEEN 10 AND 100 - Range

Query Language (Ambitious)

Mini SQL dialect:

  • SELECT columns
  • FROM sheet
  • WHERE conditions
  • GROUP BY columns
  • ORDER BY columns
  • LIMIT n

Implementation Notes

This is a complex feature. Consider:

  1. Simple filter expressions first
  2. Full query language as separate milestone
  3. Output to stdout (view mode) vs new sheet

Acceptance Criteria

  • Basic --where filter works
  • Wildcard matching works
  • Output displays filtered rows
  • (Optional) SQL-like queries

Priority

Low - Advanced feature

Milestone

v0.8.0+

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions