Что это
openpyxl - библиотека для работы с Excel-файлами формата Office Open XML: XLSX, XLSM и шаблонами. Она читает листы и ячейки, записывает значения, формулы и оформление. Это не нейросеть и не веб-сервис; код работает в вашем Python-процессе.
В AI-процессе библиотека может записать уже проверенные данные в отчет. Выбор значений и проверка прав остаются задачей приложения. Для обычного отчета по известным правилам модель вообще не нужна: итог можно вычислить Python-кодом.
Работайте с копией исходной книги и сохраняйте результат под новым именем. Поддерживаются не все элементы Excel, а формулы библиотека не пересчитывает. Старый бинарный XLS не является поддерживаемым XLSX.
Ключевые параметры
- Категория: Инструменты разработчика
- Сложность: Для разработчика
- Запуск: Около 30 минут
- Open-source: Да
- Данные: Высокий контроль
- Чувствительные данные: Только с настройками
Сильные стороны
- Для чтения и записи XLSX не требуется установленный Excel.
- Можно работать с конкретными ячейками, листами, стилями и формулами.
- Чтение и расчеты можно выполнить локально без отправки книги в облачный сервис.
- Read-only и write-only режимы подходят для больших последовательных выгрузок.
Ограничения
- Не вычисляет формулы: data_only возвращает сохраненный ранее результат, который может отсутствовать или устареть.
- Не все элементы книги сохраняются при повторной записи; важные сложные книги нужно проверять отдельно.
- keep_vba сохраняет VBA-части для XLSM, но не позволяет редактировать или исполнять макросы.
- Файлы из недоверенного источника требуют защиты XML-парсинга и лимитов размера; библиотека не является антивирусом.
Как использовать
1. Подготовка. Создайте отдельное Python-окружение и учебный XLSX: лист Продажи, в A1 название, в B1 сумма, в B2 число 1200 и в B3 число 800. Исходную книгу не перезаписывайте.
2. Настройка. Установите pip install openpyxl defusedxml. Откройте копию через load_workbook и выберите лист по имени. Для записи результата используйте обычный режим, не read_only. Не открывайте неизвестные вложения без ограничений размера и проверки.
3. Первый результат. Сложите числовые значения B2 и B3 в Python, запишите 2000 в B4 и подпись Итого в A4. Сохраните отдельный sales-result.xlsx. Это дает полезный отчет без ожидания пересчета Excel-формулы.
4. Проверка. Повторно откройте результат, сверьте B4=2000, исходные строки и имя листа. Откройте файл в табличном приложении и проверьте оформление. Если записываете формулы, отдельно выполняйте их пересчет совместимым приложением; data_only не запускает вычисления.
Доступ и оплата
- Модель оплаты: Open-source
- Бесплатный тариф: Да
- Работа в РФ: Да
- VPN: Не нужен
- Русский интерфейс: Не известно
- Русский язык: Не известно
Библиотека распространяется бесплатно под MIT и может работать локально без облачного аккаунта. Интернет нужен для получения пакета и обновлений; после установки обычная работа с локальной книгой не требует VPN или API-платежей.
Когда не подходит
- Пересчитать Excel-формулы
- Сохранить любую сложную книгу без потерь
- Запускать макросы или управлять интерфейсом Excel
Альтернативы
pandas удобнее для анализа табличных данных и группировок. Microsoft Excel нужен для работы в приложении и пересчета его формул. Google Sheets API работает с облачными таблицами, а не с локальной книгой. Выбирайте по источнику и требуемому результату.