# 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.
Raw data
{
"_id": null,
"home_page": null,
"name": "ExcelPlugin",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "excel, ExcelPlugin, pandas, openpyxl, spreadsheet",
"author": null,
"author_email": "Subbotin Alexandr <subbotinstar@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/fa/54/55dcfd712d0897d1fad5ca5a3b917a4263d01ec2a98eaf0e4c7815aa28bd/excelplugin-0.1.8.tar.gz",
"platform": null,
"description": "# ExcelPlugin\r\n\r\n\r\n\r\n\r\n\r\n## Features\r\n\r\n- \ud83c\udfa8 Advanced cell styling (fonts, borders, alignment)\r\n- \ud83d\udcca Seamless pandas DataFrames integration\r\n- \ud83d\udd04 Excel template processing\r\n- \ud83d\udcc8 Batch operations support\r\n- \ud83d\udda5\ufe0f CLI interface for quick operations\r\n\r\n## Installation\r\n\r\n```bash\r\npip install ExcelPlugin\r\n```\r\n\r\n## Quick Start\r\n\r\n```python\r\nfrom ExcelPlugin import MultiExcel\r\n\r\n# \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043e\u0431\u044a\u0435\u043a\u0442\u044b DataFrame\r\ndf_2 = pd.DataFrame()\r\ndf_1 = pd.DataFrame()\r\n\r\nmulti = MultiExcel() # \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043e\u0431\u044a\u0435\u043a\u0442 MultiExcel\r\n\r\n# \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \r\nmulti.add_sheet(df, 'data_1') # \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 'data_1' \u0438 DataFrame\r\nmulti.add_sheet(df, 'data_1') \r\n\r\n#\r\nheader_rows = [\r\n [((1, 3), 'Titile1'), ((4, 10), 'Titile2')],\r\n [((1, 4), 'Titile1'), ((5, 7), 'Titile2'), ((8, 10), 'Title3')],\r\n]\r\n\r\n# \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0448\u0430\u043f\u043a\u0443 Excel \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\r\nmulti['data_1'].add_header() # \u041e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u043c\u0435\u0442\u043e\u0434 add_header() \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u043e\u0432.\r\n# \u0415\u0441\u043b\u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0432 add_header() \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b -> \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u043c\u043d\u043e\u0433\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0439 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438\r\nmulti['data_2'].add_header(header_rows)\r\n\r\n# \u0424\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u0443\u0435\u043c \u0441\u0442\u043e\u043b\u0431\u0446\u044b \r\nmulti['data_1'].set_money_column(MONEY_COLUMN: Union[List[str], None]=None) \r\nmulti['data_1'].set_percent_column(PERCENT_COLUMN: Union[List[str], None]=None) \r\nmulti['data_1'].set_date_column(DATE_COLUMN: Union[List[str], None]=None) \r\n\r\n# \u041f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446 Excel\r\nmulti.rename_sheet(old_name='data_1', new_name='new_data_1') \r\n\r\n# \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043f\u043e\u0440\u044f\u0434\u043a\u0430 \u043b\u0438\u0441\u0442\u043e\u0432\r\nmulti = multi[['data_2', 'data1']]\r\n\r\n# \u0421\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435\r\nmulti.save(filename=fr\"{filename_email}\" + \".xlsx\", filepath=filepath) # \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0444\u0430\u0439\u043b\r\n\r\n```\r\n\r\n## CLI Usage\r\n\r\n```bash\r\n# Apply template styles\r\nexcel-plugin apply-styles --input data.xlsx --template styles.json --output styled.xlsx\r\n\r\n# Convert CSV to styled Excel\r\nexcel-plugin csv2xlsx data.csv --output report.xlsx\r\n```\r\n\r\n## Documentation\r\n\r\nFull documentation available at [GitHub Wiki](https://github.com/yourusername/ExcelPlugin/wiki)\r\n\r\n## Contributing\r\n\r\nPull requests are welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for details.\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "\u041f\u043b\u0430\u0433\u0438\u043d \u0434\u043b\u044f \u0433\u0438\u0431\u043a\u043e\u0439 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 Excel \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u043e\u0432.",
"version": "0.1.8",
"project_urls": null,
"split_keywords": [
"excel",
" excelplugin",
" pandas",
" openpyxl",
" spreadsheet"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "7708c393a944c8fb4b140b0f209128f50c694e42ec510846bdbf315074ad22dc",
"md5": "0e49a8738e3fb63ccf3c793815b8e4f9",
"sha256": "6afce1fedbb2f7069e2cdea393b4c95d970deb7e57fffea23e7cc55546e00a0d"
},
"downloads": -1,
"filename": "ExcelPlugin-0.1.8-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0e49a8738e3fb63ccf3c793815b8e4f9",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 8789,
"upload_time": "2025-02-15T14:55:37",
"upload_time_iso_8601": "2025-02-15T14:55:37.021165Z",
"url": "https://files.pythonhosted.org/packages/77/08/c393a944c8fb4b140b0f209128f50c694e42ec510846bdbf315074ad22dc/ExcelPlugin-0.1.8-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "fa5455dcfd712d0897d1fad5ca5a3b917a4263d01ec2a98eaf0e4c7815aa28bd",
"md5": "7fdfa1137b0c96a6fe1ecdb2d33e0b54",
"sha256": "db0fe7a28653344b23192ceea5a755205fd87a3e6120c1a676f64f77fd914377"
},
"downloads": -1,
"filename": "excelplugin-0.1.8.tar.gz",
"has_sig": false,
"md5_digest": "7fdfa1137b0c96a6fe1ecdb2d33e0b54",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 6970,
"upload_time": "2025-02-15T14:55:38",
"upload_time_iso_8601": "2025-02-15T14:55:38.892460Z",
"url": "https://files.pythonhosted.org/packages/fa/54/55dcfd712d0897d1fad5ca5a3b917a4263d01ec2a98eaf0e4c7815aa28bd/excelplugin-0.1.8.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-15 14:55:38",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "excelplugin"
}