ExcelPlugin


NameExcelPlugin JSON
Version 0.1.8 PyPI version JSON
download
home_pageNone
SummaryПлагин для гибкой настройки Excel документов.
upload_time2025-02-15 14:55:38
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseMIT
keywords excel excelplugin pandas openpyxl spreadsheet
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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.

            

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![Python Version](https://img.shields.io/badge/python-3.12%2B-blue)\r\n![License](https://img.shields.io/pypi/l/ExcelPlugin)\r\n![PyPI Version](https://img.shields.io/pypi/v/ExcelPlugin)\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"
}
        
Elapsed time: 0.49248s