๐ Vex - Excel Viewer
A beautiful, fast, and feature-rich terminal-based Excel and CSV viewer built with Go.


โจ Features
๐จ Six Beautiful Themes
- Catppuccin Mocha - Soft pastels, perfect for all-day use
- Nord - Cool Arctic blues, minimal and focused
- Rosรฉ Pine - Elegant rose tones, sophisticated
- Tokyo Night - Vibrant cyberpunk aesthetic
- Gruvbox - Warm retro colors, comfortable
- Dracula - Classic high contrast theme
๐ Powerful Navigation
- Vim-style keybindings (hjkl) and arrow keys
- Jump to any cell (Ctrl+G) with multiple format support
- Page Up/Down, Home/End
- Search across all cells and formulas (/)
- Navigate search results (n/N)
๐ Data Operations
- Copy cell (c) or entire row (C)
- Export to CSV or JSON
- Toggle formula display (f)
- View detailed cell information (Enter)
๐ Live Data Visualization
- Bar charts
- Line charts
- Sparklines
- Pie charts
๐ File Support
- Excel files (.xlsx, .xlsm, .xls)
- CSV files
- Multiple sheets with Tab navigation
- Formula display and evaluation
- Large file optimization with lazy loading
๐ Installation
Using go install
go install github.com/CodeOne45/vex-tui@latest
Build from Source
# Clone the repository
git clone https://github.com/CodeOne45/vex-tui.git
cd vex-tui
# Install dependencies
go mod download
# Build
go build -o vex .
# Optional: Install globally
go install
Download Binary
Download pre-built binaries from the releases page.
๐ Usage
# Basic usage
vex data.xlsx
# With a specific theme
vex report.csv --theme nord
# Short flag
vex sales.xlsx -t tokyo-night
โจ๏ธ Keyboard Shortcuts
Navigation
โโโโ or hjkl - Navigate cells
Page Up/Down - Scroll by page
Ctrl+U/D - Alternative page scroll
Home/End or 0/$ - First/last column
g/G - First/last column
Tab/Shift+Tab - Next/previous sheet
Search & Actions
/ - Search (vim-style)
n/N - Next/previous result
Ctrl+G - Jump to cell
Enter - View cell details
c - Copy cell
C - Copy entire row
f - Toggle formula display
e - Export sheet
t - Theme selector
? - Toggle help
q or Ctrl+C - Quit
Data Visualization
Step 1: Select Data Range
- Navigate to your data
- Press 'V' (shift+v) to start selection
- Move cursor to select range (arrows/hjkl)
- Press 'V' again to finish selection
Step 2: Visualize
- Press 'v' (lowercase) to open visualization
- Press 1-4 to switch between chart types:
- 1: Bar Chart
- 2: Line Chart
- 3: Sparkline
- 4: Pie Chart
- Press Esc to close
๐๏ธ Project Structure
vex-tui/
โโโ main.go # Application entry point
โโโ internal/
โ โโโ app/ # Application logic
โ โ โโโ model.go # State management
โ โ โโโ update.go # Event handling
โ โ โโโ view.go # Rendering logic
โ โ โโโ keys.go # Keybindings
โ โโโ loader/ # File I/O operations
โ โ โโโ loader.go
โ โโโ theme/ # Theme management
โ โ โโโ theme.go
โ โโโ ui/ # UI utilities
โ โโโ ui.go
โโโ pkg/
โโโ models/ # Data models
โโโ models.go
๐ค Contributing
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
Development Setup
# Clone the repository
git clone https://github.com/CodeOne45/vex-tui.git
cd vex
# Install dependencies
go mod download
# Run tests
go test ./...
# Build
go build -o vex .
Code Style
This project follows standard Go conventions:
- Run
go fmt before committing
- Follow Effective Go guidelines
- Write clear commit messages
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ Acknowledgments
๐ Security
If you discover a security vulnerability, please send an email to security@vex-tui.dev. All security vulnerabilities will be promptly addressed.
Made with โค๏ธ for terminal enthusiasts everywhere.