Оглавление
Установка через NuGet
PM> Install-Package Spire.XLS
Похожие ссылки
Эффективная запись файлов Excel является неотъемлемой частью рабочих процессов на основе Python для анализа данных, составления отчетов и автоматизации. Среди множества доступных библиотек Spire.XLS for Python выделяется как мощное, независимое от Excel решение, поддерживающее сложные функции, такие как диаграммы, формулы, условное форматирование, шифрование и обработка больших наборов данных.
В этом руководстве показано, как записывать файлы XLSX с помощью Python, используя Spire.XLS for Python, и рассматриваются все детали, от базовой записи до расширенного форматирования, при этом используется надежная и готовая к использованию в корпоративной среде библиотека Excel.

- Как записывать файлы XLSX с помощью Spire.XLS for Python
- Запись различных типов данных в файлы XLSX с помощью Python
- Применение форматирования и стилей к ячейкам Excel с помощью Python
Как записывать файлы XLSX с помощью Spire.XLS for Python
Зачем использовать Spire.XLS for Python?
Spire.XLS for Python — это многофункциональная библиотека, которая позволяет разработчикам читать, записывать и управлять файлами Excel без необходимости установки Microsoft Office. Она создана для обеспечения производительности и гибкости, что делает ее идеальной для задач автоматизации и крупномасштабной отчетности.
Основные преимущества:
- Универсальный API: чтение/запись .xls и .xlsx, форматирование ячеек, вставка формул, преобразование файлов и многое другое.
- Кроссплатформенная поддержка: доступно для .NET, Java, Python и совместимо с облачными средами.
- Расширенные функции Excel: поддержка диаграмм, сводных таблиц, условного форматирования и защиты.
- Надежная документация и поддержка: обширная справочная информация по API, учебные пособия, форум для разработчиков и служба поддержки.
- Доступна бесплатная версия: идеально подходит для простой обработки файлов Excel без затрат на лицензирование.
Установка Spire.XLS for Python
Вы можете установить полную или бесплатную версию Spire.XLS в зависимости от ваших требований.
Полная версия:
pip install spire.xls
Бесплатная версия (для небольших файлов и простых случаев использования):
pip install spire.xls.free
Основные шаги по записи файлов XLSX
Чтобы записывать данные в файлы Excel с помощью Python, выполните следующие основные шаги:
- Создайте новую книгу Excel с помощью конструктора Workbook().
- Загрузите существующий файл XLSX (необязательно) с помощью метода Workbook.LoadFromFile().
- Добавьте или получите рабочий лист с помощью метода Workbook.Worksheets.Add() или метода get_Item().
- Получите доступ к ячейкам с помощью метода Worksheet.Range.get_Item().
- Запишите данные, используя свойства класса CellRange, такие как Value, Text, NumberValue и т. д.
- Сохраните книгу с помощью метода Workbook.SaveToFile().
Пример кода базовой записи файла XLSX
- Python
from spire.xls import Workbook, ExcelVersion
# Создайте объект Workbook
workbook = Workbook()
# Получите первый рабочий лист по умолчанию
sheet = workbook.Worksheets.get_Item(0)
# Запишите строку в ячейку B2
sheet.Range.get_Item(2, 2).Text = "Привет, мир!"
# Сохраните книгу
workbook.SaveToFile("output/BasicWorkbook.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
Выходной файл XLSX:

Запись различных типов данных в файлы XLSX с помощью Python
Spire.XLS предлагает в классе CellRange ряд свойств, которые поддерживают запись различных типов данных непосредственно в ячейки Excel, таких как строки, значения даты и времени, логические значения и числовые значения. Это позволяет разработчикам легко записывать типизированные значения непосредственно в ячейки файла XLSX.
Поддерживаемые типы данных и их свойства
| Свойство | Тип значения | Функция |
| NumberValue | float | Устанавливает числовое значение |
| Text | str | Устанавливает обычный текст |
| DateTimeValue | datetime | Устанавливает дату и время |
| BooleanValue | bool | Устанавливает логическое значение |
| Formula | str | Вставляет формулу |
| HtmlString | str | Вставляет текст в формате HTML |
| Value | str | Устанавливает общее значение |
Пример кода – запись различных типов данных
- Python
from spire.xls import Workbook, ExcelVersion, DateTime, HorizontalAlignType, Stream, ImageFormatType
# Создайте объект Workbook
workbook = Workbook()
# Получите первый рабочий лист по умолчанию
sheet = workbook.Worksheets.get_Item(0)
# Запишите текст в ячейку B1
sheet.Range.get_Item(1, 2).Text = "Обычный текст"
# Запишите число в ячейку B2
sheet.Range.get_Item(2, 2).NumberValue = 123456
sheet.Range.get_Item(2, 2).NumberFormat = "#,##0.00"
# Запишите дату в ячейку B3
sheet.Range.get_Item(3, 2).DateTimeValue = DateTime.get_UtcNow()
# Запишите логическое значение в ячейку B4
sheet.Range.get_Item(4, 2).BooleanValue = True
# Запишите формулу в ячейку B5
sheet.Range.get_Item(5, 2).Formula = "B2/2"
# Запишите строку HTML в ячейку B6
sheet.Range.get_Item(6, 2).HtmlString = "<p><span style='color: blue; font-size: 18px;'>Синий шрифт размером 18 пикселей</span></p>"
# Запишите обычное значение в ячейку B7
sheet.Range.get_Item(7, 2).Value = "Обычное значение"
# Вставьте изображение в ячейку B8
with open("Logo.png", "rb") as f:
imageBytes = f.read()
stream = Stream(imageBytes)
sheet.Pictures.Add(8, 2, stream, ImageFormatType.Png)
# Установите базовое форматирование
sheet.Range.get_Item(1, 2, 8, 2).HorizontalAlignment = HorizontalAlignType.Left
sheet.AutoFitColumn(2)
for i in range(sheet.Range.Columns.Count):
for j in range(sheet.Range.Rows.Count):
sheet.Range.get_Item(j + 1, i + 1).HorizontalAlignment = HorizontalAlignType.Left
# Сохраните книгу в файл XLSX
workbook.SaveToFile("output/WriteDataExcelCell.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
Выходной файл XLSX:

Применение форматирования и стилей к ячейкам Excel с помощью Python
Форматирование играет ключевую роль в создании понятных и профессиональных отчетов Excel. С помощью Spire.XLS for Python вы можете настраивать внешний вид ячеек, используя шрифты, цвета, выравнивание, числовые форматы и встроенные стили. Эти инструменты помогают улучшить читаемость и представить ваши данные в отточенном и последовательном виде, что идеально подходит для отчетности и автоматизации.
В следующем примере кода показано, как форматировать рабочие листы с помощью Python.
Форматирование ячеек с помощью шрифта, цвета, границ и выравнивания
- Python
from spire.xls import Workbook, Color, LineStyleType, BordersLineType, HorizontalAlignType
# Создайте объект Workbook
workbook = Workbook()
# Загрузите файл XLSX
workbook.LoadFromFile("Sample.xlsx")
# Получите первый рабочий лист
sheet = workbook.Worksheets.get_Item(0)
# Установите стили шрифта
# Строка заголовка
sheet.Rows.get_Item(0).Style.Font.FontName = "Times New Roman"
sheet.Rows.get_Item(0).Style.Font.Size = 14
sheet.Rows.get_Item(0).Style.Font.IsBold = True
# Строки данных
for i in range(1, sheet.Rows.Count):
sheet.Rows.get_Item(i).Style.Font.FontName = "Arial"
sheet.Rows.get_Item(i).Style.Font.Size = 12
# Установите цвета ячеек
# Строка заголовка
sheet.Rows.get_Item(0).Style.Color = Color.FromRgb(200, 245, 230)
# Строки данных
for i in range(1, sheet.Rows.Count):
sheet.Rows.get_Item(i).Style.Color = Color.FromRgb(240, 255, 250)
# Установите стили границ
# Строка заголовка
sheet.Rows.get_Item(0).Style.Borders.get_Item(BordersLineType.EdgeBottom).LineStyle = LineStyleType.Thick
sheet.Rows.get_Item(0).Style.Borders.get_Item(BordersLineType.EdgeBottom).Color = Color.get_White()
# Строки данных
for i in range(1, sheet.Rows.Count):
sheet.Rows.get_Item(i).BorderInside(LineStyleType.Thin, Color.get_Black())
# Установите выравнивание
# Строка заголовка
sheet.Rows.get_Item(0).Style.HorizontalAlignment = HorizontalAlignType.Center
# Строки данных
for i in range(1, sheet.Rows.Count):
sheet.Rows.get_Item(i).Style.HorizontalAlignment = HorizontalAlignType.Left
# Автоматически подбирать ширину столбца
for i in range(sheet.Columns.Count):
sheet.AutoFitColumn(i + 1)
# Сохраните файл Excel
workbook.SaveToFile("output/FormatXLSXFile.xlsx")
workbook.Dispose()
Выходной файл XLSX:

Установка числовых форматов для ячеек
- Python
from spire.xls import Workbook, ExcelVersion
# Создайте экземпляр Workbook
workbook = Workbook()
# Получите первый рабочий лист
sheet = workbook.Worksheets.get_Item(0)
# Отформатируйте ячейку как число
sheet.Range.get_Item(1, 2).NumberValue = 1234567890
sheet.Range.get_Item(1, 2).NumberFormat = "[Red]#,##0;[Green]#,##0"
# Отформатируйте ячейку как дату
sheet.Range.get_Item(2, 2).NumberValue = 45562
sheet.Range.get_Item(2, 2).NumberFormat = "yyyy-mm-dd"
# Отформатируйте ячейку как время
sheet.Range.get_Item(3, 2).NumberValue = 45562
sheet.Range.get_Item(3, 2).NumberFormat = "hh:mm:ss"
# Отформатируйте ячейку как валюту
sheet.Range.get_Item(4, 2).NumberValue = 1234567890
sheet.Range.get_Item(4, 2).NumberFormat = "_($* #,##0.00_);_($* (#,##0.00);_($* ""-""??_);_(@_)"
# Отформатируйте ячейку как процент
sheet.Range.get_Item(5, 2).NumberValue = 0.1234567890
sheet.Range.get_Item(5, 2).NumberFormat = "0.00%"
# Отформатируйте ячейку как дробь
sheet.Range.get_Item(6, 2).NumberValue = 0.1234567890
sheet.Range.get_Item(6, 2).NumberFormat = "0.00_ ?"
# Отформатируйте ячейку как научное число
sheet.Range.get_Item(7, 2).NumberValue = 1234567890
sheet.Range.get_Item(7, 2).NumberFormat = "0.00E+00"
# Автоматически подбирать ширину столбца
for i in range(sheet.Columns.Count):
sheet.AutoFitColumn(i + 1)
# Сохраните файл Excel
workbook.SaveToFile("output/SetNumberFormat.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
Выходной файл XLSX:

Применение встроенных стилей к ячейкам
- Python
from spire.xls import Workbook, BuiltInStyles
# Создайте экземпляр Workbook
workbook = Workbook()
# Загрузите файл Excel
workbook.LoadFromFile("Sample.xlsx")
# Получите первый рабочий лист
sheet = workbook.Worksheets.get_Item(0)
# Примените встроенный стиль заголовка к первой строке
sheet.Rows.get_Item(0).BuiltInStyle = BuiltInStyles.Heading2
# Примените встроенный стиль нижнего колонтитула к строкам данных
for i in range(1, sheet.Rows.Count):
sheet.Rows.get_Item(i).BuiltInStyle = BuiltInStyles.Accent2_20
# Автоматически подбирать ширину столбца
for i in range(sheet.Columns.Count):
sheet.AutoFitColumn(i + 1)
# Сохраните файл Excel
workbook.SaveToFile("output/ApplyBuiltInStyle.xlsx")
workbook.Dispose()
Выходной файл XLSX:

Заключение
В этом руководстве мы рассмотрели, как записывать файлы XLSX с помощью Python, используя Spire.XLS — от базовой записи до форматирования. Будь то создание отчетов, автоматизация экспорта или создание приложений, управляемых данными, Spire.XLS for Python предлагает надежное и эффективное решение для создания файлов Excel.
Получите бесплатную лицензию
Вы можете запросить 30-дневную бесплатную пробную лицензию на полную версию Spire.XLS for Python. Это позволит вам изучить все расширенные функции без ограничений в течение пробного периода.