Metadata-Version: 2.3
Name: core_xlsx
Version: 0.9.0
Classifier: Programming Language :: Rust
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Programming Language :: Python :: 3.12
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: MacOS
Summary: Core functionality for XLSX
Home-Page: https://github.com/stalexsm/core_xlsx.git
Author: Alexander Starovoytov
Author-email: stalex.info@yandex.ru
Requires-Python: >=3.12
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Source Code, https://github.com/stalexsm/core_xlsx.git

## Вспомогательная библиотека __core_xlsx__.

`core_xlsx` - это Python-библиотека для работы с данными в виде Excel (XLSX) для проекта, предоставляющая удобные инструменты для манипуляции данными в таблицах.

## Установка

```
poetry add core-xlsx
```

## Основные компоненты

- `XLSXBook`: Представляет книгу отчкета Excel.
- `XLSXSheet`: Представляет лист Excel для создания новых листов отчета.
- `XLSXSheetCell`: Представляет ячейку в листе Excel для создания новых ячеек отчета.
- `XLSXSheetRead`: Представляет лист Excel для чтения существующих листов отчета.
- `XLSXSheetCellRead`: Представляет ячейку в листе Excel для чтения существующих ячеек отчета.
- `Service`: Базовый класс для создания сервисов обработки данных и создания отчетов.
- `HelperSheet`: Помощник для работы с несколькими листами и ячейками.
- `HelperCell`: Помощник для работы с ячейками.
- `column_number_to_letter`: Функция для преобразования колонки с row в букву (1 -> A).

## Возможности

- Поиск листов по имени или шаблону
- Поиск ячеек по значению, регулярному выражению или адресу
- Манипуляция данными ячеек (установка значений, формул, форматов)
- Получение информации о ячейках (тип данных, числовой формат, стиль)
- Работа с датами и временем
- Создание пользовательских сервисов и форматтеров для создания отчетов xlsx.

## Пример использования

```python
from core_xlsx import  Service, HelperSheet

class MyService(Service):
    def summary_0(self, sheets, /, **kwargs):
        """Данный метод предназначен для формирования отчета"""

        h = HelperSheet(sheets)
        sheet = h.find_sheet_by_pattern("Отчет")

        if sheet:
            cell = sheet.find_cell_pattern_regex("Итого:")
            if cell:
                total = float(cell.value)
                print(f"Итоговая сумма: {total}")

        # Вызовем метод форматирования
        sheets = self.fmt_0(sheets, year=2024)

        return sheets


    def fmt_0(self, sheets, /, **kwargs):
        """Данный метод предназначен для форматирования отчета"""
        return sheets

# Использование
service = MyService(uow="my_unit_of_work")
sheets = [...]  # Ваши данные листов

processed_sheets = service.summary_0(sheets)
```

