3.4 KiB
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
- Push this repository to your Git server
- In Coolify, create a new resource and select "Docker Compose"
- Point to your repository
- Deploy!
Option 2: Dockerfile
- In Coolify, create a new resource and select "Dockerfile"
- Point to your repository
- Set the port to
8501 - Deploy!
Environment Variables (Optional)
No environment variables are required, but you can set:
TZ- Timezone (default: UTC)
Usage
- Upload: Drag and drop an Excel file or click to browse
- Select Sheet: Choose the worksheet to filter
- Configure Filters:
- Regex Tab: Enable regex filtering and enter a pattern
- Numeric Tab: Set up numeric comparisons
- Columns Tab: Select which columns to include
- Apply: Click "Apply Filters" to process
- 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.