Excel tool im Browser
This commit is contained in:
132
README_STREAMLIT.md
Normal file
132
README_STREAMLIT.md
Normal file
@@ -0,0 +1,132 @@
|
||||
# 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)
|
||||
|
||||
```bash
|
||||
run_streamlit.bat
|
||||
```
|
||||
|
||||
### Run Locally (Linux/Mac)
|
||||
|
||||
```bash
|
||||
chmod +x run_streamlit.sh
|
||||
./run_streamlit.sh
|
||||
```
|
||||
|
||||
### Run with Docker
|
||||
|
||||
```bash
|
||||
docker build -t excel-filter .
|
||||
docker run -p 8501:8501 excel-filter
|
||||
```
|
||||
|
||||
### Run with Docker Compose
|
||||
|
||||
```bash
|
||||
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
|
||||
|
||||
```bash
|
||||
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
|
||||
|
||||
```bash
|
||||
streamlit run streamlit_app.py
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
See LICENSE file for details.
|
||||
Reference in New Issue
Block a user