Files
Excel-Filter-Tool/README_STREAMLIT.md
2026-02-21 02:01:12 +01:00

3.4 KiB

Excel Filter Tool - Streamlit Web Application

A modern web-based Excel filtering tool built with Streamlit. This application allows you to filter Excel files using regex patterns, numeric filters, and column selection - all from your browser without installing any software.

Features

  • 📁 Easy File Upload: Drag and drop Excel files (.xlsx, .xls)
  • 🔍 Regex Filtering: Filter rows using powerful regex patterns
  • 🔢 Numeric Filters: Filter by numeric comparisons (>, <, >=, <=, =)
  • 📊 Column Selection: Choose specific columns for output
  • 🌐 Multi-language Support: German and English interface
  • 📈 Statistics: View filtering statistics and retention rates
  • 💾 Configuration: Save and load filter configurations

Quick Start

Run Locally (Windows)

run_streamlit.bat

Run Locally (Linux/Mac)

chmod +x run_streamlit.sh
./run_streamlit.sh

Run with Docker

docker build -t excel-filter .
docker run -p 8501:8501 excel-filter

Run with Docker Compose

docker-compose up -d

Coolify Deployment

Option 1: Docker Compose

  1. Push this repository to your Git server
  2. In Coolify, create a new resource and select "Docker Compose"
  3. Point to your repository
  4. Deploy!

Option 2: Dockerfile

  1. In Coolify, create a new resource and select "Dockerfile"
  2. Point to your repository
  3. Set the port to 8501
  4. Deploy!

Environment Variables (Optional)

No environment variables are required, but you can set:

  • TZ - Timezone (default: UTC)

Usage

  1. Upload: Drag and drop an Excel file or click to browse
  2. Select Sheet: Choose the worksheet to filter
  3. Configure Filters:
    • Regex Tab: Enable regex filtering and enter a pattern
    • Numeric Tab: Set up numeric comparisons
    • Columns Tab: Select which columns to include
  4. Apply: Click "Apply Filters" to process
  5. Download: Click "Download Filtered File" to get results

File Structure

├── streamlit_app.py         # Main Streamlit application
├── Dockerfile               # Docker configuration
├── docker-compose.yml       # Docker Compose configuration
├── .dockerignore            # Docker ignore file
├── .streamlit/
│   └── config.toml          # Streamlit configuration
├── run_streamlit.bat        # Windows runner script
├── run_streamlit.sh         # Linux/Mac runner script
└── excel_filter/            # Core filter module
    ├── filter.py            # Main filter logic
    ├── requirements.txt     # Python dependencies
    └── locales/             # Translations
        ├── de.json
        └── en.json

Regex Examples

Pattern Description
error|warning Find rows with "error" OR "warning"
[0-9]{4} Find 4-digit numbers
[a-z]+@[a-z]+\.[a-z]{2,} Find email addresses
\d{4}-\d{2}-\d{2} Find dates (YYYY-MM-DD)
error.*critical Find "error" followed by "critical"

Development

Prerequisites

  • Python 3.11+
  • pip

Installation

python -m venv venv
source venv/bin/activate  # Linux/Mac
# or
venv\Scripts\activate  # Windows

pip install -r excel_filter/requirements.txt
pip install streamlit

Run Development Server

streamlit run streamlit_app.py

License

See LICENSE file for details.