Back to Home

Sheets: spreadsheets in the terminal on Go for developers

Sheets — an open project on Go for working with spreadsheets in the terminal. Supports editing, formulas, and cross-platform compatibility. Suitable for data analysis in CLI environments without GUI.

Open Sheets: spreadsheets right in the terminal
Advertisement 728x90

Sheets: Open-Source Tool for Working with Spreadsheets in the Terminal Built with Go

Sheets is a cross-platform project written in Go for handling spreadsheets directly in the terminal. Developer Maas Lalani released the source code on GitHub under the MIT license. The tool targets developers who prefer CLI solutions without a graphical interface. Pre-built binaries are available for Windows, macOS, and Linux, making it versatile across different development environments.

The project solves the challenge of processing tabular data in a text-based environment, integrating seamlessly with shell scripts and automation workflows. Users can perform editing, filtering, and calculations without needing to launch a browser or desktop apps.

Key Features

Sheets offers functionality similar to traditional spreadsheet applications, but optimized for the terminal:

Google AdInline article slot
  • Cell editing: Navigate the table using keyboard shortcuts, enter and modify values.
  • Formulas and calculations: Support for basic math operations and functions.
  • Import/export: Handling CSV, TSV, and other text formats.
  • Filtering and sorting: Quick search and data organization.
  • Visualization: Color coding and formatting to enhance readability in the terminal.

The interface features a full-screen TUI (Text User Interface) built with the tview library or a similar Go library. This enables efficient handling of large tables without sacrificing performance.

Installation and Usage

To get started, grab a pre-built binary from GitHub releases or build from source:

go install github.com/mjl-/sheets@latest

Once installed, launch it with:

Google AdInline article slot
sheets file.csv

The project requires Go 1.21+ to compile. It has minimal dependencies, making it easy to deploy in containers or CI/CD pipelines.

Applications in Development

Sheets fits right into DevOps workflows:

  • Real-time log processing.
  • Analyzing metrics from monitoring tools (Prometheus, Grafana exports).
  • Generating reports via scripts.
  • ETL processes for database data (SQLite, PostgreSQL via csvdump).

Example: Parsing JSON logs into a table for error analysis.

Google AdInline article slot
# Example script
sheets -i logs.json -o analysis.tsv | sheets --sort column2

This is particularly handy for senior developers working in headless environments or on GUI-less servers.

Comparison with Alternatives

| Tool | Platforms | License | TUI | Formulas |

|-----------|---------------|---------|-----|------------|

| Sheets | Win/Mac/Linux | MIT | Yes | Yes |

| visidata | *nix | GPL | Yes | Partially |

| csvkit | *nix | MIT | No | No |

Sheets stands out with its full cross-platform support and terminal-based formula capabilities.

Key Highlights

  • Open-source Go codebase: Easy to extend and customize for specific needs.
  • Cross-platform: Binaries for all major OSes with zero dependencies.
  • TUI interface: Full navigation and editing capabilities in the terminal.
  • MIT license: Free to use in commercial projects.
  • Minimalist design: Performance-focused without unnecessary UI fluff.

— Editorial Team

Advertisement 728x90

Read Next