Skip to main content

Open tabular files (csv, tsv, txt, parquet) as safely formatted Excel files.

Project description

XlsxPress

Open tabular data files directly as safe, readable Excel workbooks.

XlsxPress converts files such as .csv, .tsv, .txt, and .parquet into .xlsx files and optionally opens them in Excel immediately. It is designed for exploratory data inspection and reporting workflows where opening raw text files in Excel is inconvenient or risky.

Table of Contents

Features

  • Open tabular files (CSV, TSV, TXT) directly in Excel
  • Open Parquet files directly in Excel
  • Add XlsxPress actions to the Windows file context menu for opening and converting files directly from File Explorer (only available via the standalone Windows app)
  • Convert into temporary .xlsx files to avoid modifying the original text files
  • Preserve text values that Excel commonly auto-converts (for example gene names becoming dates)
  • Optional preview mode to only load the first N rows of very large datasets
  • Automatic header formatting for improved readability
  • Safe output naming (never overwrites existing Excel files)

Automatic header formatting

By default, XlsxPress makes the first row easier to work with in Excel:

  • header cells are emphasized visually
  • text wrapping is enabled for long column names
  • the header row remains visible while scrolling (freeze panes)
  • column widths are adjusted automatically to fit content (within reasonable limits)

This behavior can be disabled with --plain in the command line interface, or by disabling format header row in the standalone app.

Installation and Usage

Installation

Install from PyPI with pip

pip install xlsxpress

or with uv

uv add xlsxpress

Run as a command line tool

xlsxpress open data.tsv

or

python -m xlsxpress open data.tsv

Run directly with uv without installing it first

uvx run xlsxpress open data.tsv

Command Line Usage

Available commands

  • open creates a temporary .xlsx file and opens it in Excel
    • --nrows - preview only the first N rows of a large dataset
    • --plain - disable automatic header formatting
  • convert creates an .xlsx file next to the original file
    • --nrows - preview only the first N rows of a large dataset
    • --plain - disable automatic header formatting
    • --temp - write to a temporary file instead of next to the original
    • --open - open the converted file in Excel immediately

Examples

Open in Excel using a temporary file:

xlsxpress open input.tsv

Convert next to the original file:

xlsxpress convert input.tsv

Preview only the first rows:

xlsxpress open input.tsv --nrows 100

Convert and immediately open:

xlsxpress convert input.tsv --open

Standalone Windows App

The Windows app extends XlsxPress with Windows File Context Menu integration, allowing supported files to be opened or converted directly from File Explorer without using the command line.

Installation:

  • Download the latest .exe from GitHub Releases
  • Run the application to open the launcher
  • Select Register context menu to add XlsxPress actions to the Windows file context menu

After installation you can:

  • Right click supported files (.csv, .tsv, .txt, .parquet) to:
    • Open in Excel (xlsxpress) - convert and open in Excel using your saved default options
    • Open conversion dialog (xlsxpress) - open a GUI and select conversion options before opening
  • Run the application to
    • Uninstall the XlsxPress app
    • Register or remove the context menu actions
    • Update XlsxPress to the latest version
    • Update the default conversion settings used by context menu actions

The conversion dialog includes an Update defaults action. Saved defaults are automatically reused by Open in Excel (xlsxpress) so frequently used options only need to be configured once.

On Windows 11, XlsxPress adds entries to the classic context menu. Right-click a file and select Show more options to access the XlsxPress actions.

[!TIP] Hold Shift + Right Click on a file to open the classic context menu directly.

The Windows app installs per-user into local application data and does not require administrator privileges.

Releases

  • Python package: published on PyPI as xlsxpress
  • Standalone application: automatically built with PyApp and published as GitHub release artifacts through the CI/CD pipeline

Supported formats

Current supported inputs:

  • .csv
  • .tsv
  • .txt
  • .parquet

Output:

  • .xlsx

Feedback and Issues

Bug reports, feature requests, and improvement suggestions are welcome.

Please use the GitHub issue tracker to report problems, propose new features, or discuss potential enhancements.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

xlsxpress-0.3.0-py3-none-any.whl (23.0 kB view details)

Uploaded Python 3

File details

Details for the file xlsxpress-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: xlsxpress-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 23.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for xlsxpress-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 93ee5c056c857766d59dd282967c30d23f3da20a5edb4cad674663c142e25328
MD5 287415a11fae0d6af451b78a54ff34d6
BLAKE2b-256 0cf955ee8526d4d6159593c4c08e5cef6808569772ffe97d14c872163ce72696

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page