Metadata-Version: 2.2
Name: ExcelPlugin
Version: 0.1.8
Summary: Плагин для гибкой настройки Excel документов.
Author-email: Subbotin Alexandr <subbotinstar@gmail.com>
License: MIT
Keywords: excel,ExcelPlugin,pandas,openpyxl,spreadsheet
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Office/Business :: Financial :: Spreadsheet
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: pandas>=2.2.2
Requires-Dist: openpyxl>=3.1.3
Requires-Dist: typing-extensions>=4.0; python_version < "3.12"

# ExcelPlugin

![Python Version](https://img.shields.io/badge/python-3.12%2B-blue)
![License](https://img.shields.io/pypi/l/ExcelPlugin)
![PyPI Version](https://img.shields.io/pypi/v/ExcelPlugin)

## Features

- 🎨 Advanced cell styling (fonts, borders, alignment)
- 📊 Seamless pandas DataFrames integration
- 🔄 Excel template processing
- 📈 Batch operations support
- 🖥️ CLI interface for quick operations

## Installation

```bash
pip install ExcelPlugin
```

## Quick Start

```python
from ExcelPlugin import MultiExcel

# Создаем объекты DataFrame
df_2 = pd.DataFrame()
df_1 = pd.DataFrame()

multi = MultiExcel() # Создаем объект MultiExcel

# Добавляем страницы 
multi.add_sheet(df, 'data_1')  # Добавляем страницу 'data_1' и DataFrame
multi.add_sheet(df, 'data_1')  

#
header_rows = [
    [((1, 3), 'Titile1'), ((4, 10), 'Titile2')],
    [((1, 4), 'Titile1'), ((5, 7), 'Titile2'), ((8, 10), 'Title3')],
]

# Создаем шапку Excel документа
multi['data_1'].add_header()  # Обязательно нужно вызвать метод add_header() для создания заголовков.
# Если передать в add_header() аргументы -> получим многоуровневый заголовки
multi['data_2'].add_header(header_rows)

# Форматируем столбцы 
multi['data_1'].set_money_column(MONEY_COLUMN: Union[List[str], None]=None)  
multi['data_1'].set_percent_column(PERCENT_COLUMN: Union[List[str], None]=None)  
multi['data_1'].set_date_column(DATE_COLUMN: Union[List[str], None]=None) 

# Переименование страниц Excel
multi.rename_sheet(old_name='data_1', new_name='new_data_1') 

# Изменение порядка листов
multi = multi[['data_2', 'data1']]

# Сохранение
multi.save(filename=fr"{filename_email}" + ".xlsx", filepath=filepath)  # Сохраняем файл

```

## CLI Usage

```bash
# Apply template styles
excel-plugin apply-styles --input data.xlsx --template styles.json --output styled.xlsx

# Convert CSV to styled Excel
excel-plugin csv2xlsx data.csv --output report.xlsx
```

## Documentation

Full documentation available at [GitHub Wiki](https://github.com/yourusername/ExcelPlugin/wiki)

## Contributing

Pull requests are welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for details.
