Índice
Instalar via NuGet
PM> Install-Package Spire.XLS
Links Relacionados
A criação eficiente de arquivos Excel é essencial em fluxos de trabalho baseados em Python para análise de dados, relatórios e automação. Entre as muitas bibliotecas disponíveis, o Spire.XLS for Python destaca-se como uma solução poderosa e independente do Excel que suporta recursos complexos como gráficos, fórmulas, formatação condicional, encriptação e manipulação de grandes conjuntos de dados.
Este guia mostrará como escrever arquivos XLSX com Python usando o Spire.XLS for Python, cobrindo detalhes desde a escrita básica até a formatação avançada — tudo isso usando a confiável biblioteca Excel pronta para empresas.

- Como Escrever Arquivos XLSX com Spire.XLS for Python
- Escrever Diferentes Tipos de Dados em Arquivos XLSX Usando Python
- Aplicar Formatação e Estilos a Células do Excel com Python
Como Escrever Arquivos XLSX com Spire.XLS for Python
Por que Usar o Spire.XLS for Python?
O Spire.XLS for Python é uma biblioteca rica em recursos que permite aos desenvolvedores ler, escrever e manipular arquivos Excel sem a necessidade do Microsoft Office. Foi construído para desempenho e flexibilidade, tornando-o ideal para tarefas de automação e relatórios em grande escala.
Principais benefícios:
- API Tudo-em-Um: Ler/escrever .xls e .xlsx, formatar células, inserir fórmulas, converter arquivos e muito mais.
- Suporte Multiplataforma: Disponível para .NET, Java, Python e compatível com ambientes baseados em nuvem.
- Recursos Avançados do Excel: Suporta gráficos, tabelas dinâmicas, formatação condicional e proteção.
- Documentação e Suporte Confiáveis: Referência de API extensa, tutoriais, fórum de desenvolvedores e equipe de suporte.
- Edição Gratuita Disponível: Ideal para processamento leve de arquivos Excel sem custos de licenciamento.
Instalação do Spire.XLS for Python
Você pode instalar a versão completa ou a versão gratuita do Spire.XLS, dependendo de suas necessidades.
Versão completa:
pip install spire.xls
Versão gratuita (para arquivos menores e casos de uso básicos):
pip install spire.xls.free
Passos Básicos para Escrever Arquivos XLSX
Para escrever em arquivos Excel usando Python, siga estes passos fundamentais:
- Crie uma nova pasta de trabalho do Excel através do construtor Workbook().
- Carregue um arquivo XLSX existente (opcional) com o método Workbook.LoadFromFile().
- Adicione ou obtenha uma planilha usando o método Workbook.Worksheets.Add() ou o método get_Item().
- Acesse as células através do método Worksheet.Range.get_Item().
- Escreva dados usando propriedades da classe CellRange, como Value, Text, NumberValue, etc.
- Salve a pasta de trabalho usando o método Workbook.SaveToFile().
Exemplo de Código de Escrita Básica de Arquivo XLSX
- Python
from spire.xls import Workbook, ExcelVersion
# Crie um objeto Workbook
workbook = Workbook()
# Obtenha a primeira planilha padrão
sheet = workbook.Worksheets.get_Item(0)
# Escreva uma string na célula B2
sheet.Range.get_Item(2, 2).Text = "Olá, Mundo!"
# Salve a pasta de trabalho
workbook.SaveToFile("output/BasicWorkbook.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
O arquivo XLSX de saída:

Escrever Diferentes Tipos de Dados em Arquivos XLSX Usando Python
O Spire.XLS oferece uma série de propriedades na classe CellRange que suportam a escrita de vários tipos de dados diretamente nas células do Excel, como strings, valores de data e hora, valores booleanos e valores numéricos. Isso facilita para os desenvolvedores escreverem valores tipados diretamente nas células de um arquivo XLSX.
Tipos de Dados Suportados e Suas Propriedades
| Propriedade | Tipo de Valor | Função |
| NumberValue | float | Define um valor numérico |
| Text | str | Define texto simples |
| DateTimeValue | datetime | Define uma data e hora |
| BooleanValue | bool | Define um valor booleano |
| Formula | str | Insere uma fórmula |
| HtmlString | str | Insere texto formatado em HTML |
| Value | str | Define um valor genérico |
Exemplo de Código – Escrevendo Vários Tipos de Dados
- Python
from spire.xls import Workbook, ExcelVersion, DateTime, HorizontalAlignType, Stream, ImageFormatType
# Crie um objeto Workbook
workbook = Workbook()
# Obtenha a primeira planilha padrão
sheet = workbook.Worksheets.get_Item(0)
# Escreva texto na célula B1
sheet.Range.get_Item(1, 2).Text = "Texto Simples"
# Escreva um número na célula B2
sheet.Range.get_Item(2, 2).NumberValue = 123456
sheet.Range.get_Item(2, 2).NumberFormat = "#,##0.00"
# Escreva uma data na célula B3
sheet.Range.get_Item(3, 2).DateTimeValue = DateTime.get_UtcNow()
# Escreva um valor booleano na célula B4
sheet.Range.get_Item(4, 2).BooleanValue = True
# Escreva uma fórmula na célula B5
sheet.Range.get_Item(5, 2).Formula = "B2/2"
# Escreva uma string HTML na célula B6
sheet.Range.get_Item(6, 2).HtmlString = "<p><span style='color: blue; font-size: 18px;'>Fonte azul tamanho 18 pixels</span></p>"
# Escreva um valor regular na célula B7
sheet.Range.get_Item(7, 2).Value = "Valor Regular"
# Insira uma imagem na célula B8
with open("Logo.png", "rb") as f:
imageBytes = f.read()
stream = Stream(imageBytes)
sheet.Pictures.Add(8, 2, stream, ImageFormatType.Png)
# Defina a formatação básica
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
# Salve a pasta de trabalho em um arquivo XLSX
workbook.SaveToFile("output/WriteDataExcelCell.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
O arquivo XLSX de saída:

Aplicar Formatação e Estilos a Células do Excel com Python
A formatação desempenha um papel fundamental em tornar os relatórios do Excel claros e profissionais. Com o Spire.XLS for Python, você pode personalizar a aparência das células usando fontes, cores, alinhamento, formatos de número e estilos incorporados. Essas ferramentas ajudam a melhorar a legibilidade e apresentar seus dados de forma polida e consistente — ideal para relatórios e automação.
O exemplo de código a seguir mostra como formatar planilhas usando Python.
Formatar Células com Fonte, Cor, Borda e Alinhamento
- Python
from spire.xls import Workbook, Color, LineStyleType, BordersLineType, HorizontalAlignType
# Crie um objeto Workbook
workbook = Workbook()
# Carregue o arquivo XLSX
workbook.LoadFromFile("Sample.xlsx")
# Obtenha a primeira planilha
sheet = workbook.Worksheets.get_Item(0)
# Defina os estilos da fonte
# Linha de cabeçalho
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
# Linhas de dados
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
# Defina as cores das células
# Linha de cabeçalho
sheet.Rows.get_Item(0).Style.Color = Color.FromRgb(200, 245, 230)
# Linhas de dados
for i in range(1, sheet.Rows.Count):
sheet.Rows.get_Item(i).Style.Color = Color.FromRgb(240, 255, 250)
# Defina os estilos de borda
# Linha de cabeçalho
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()
# Linhas de dados
for i in range(1, sheet.Rows.Count):
sheet.Rows.get_Item(i).BorderInside(LineStyleType.Thin, Color.get_Black())
# Defina o alinhamento
# Linha de cabeçalho
sheet.Rows.get_Item(0).Style.HorizontalAlignment = HorizontalAlignType.Center
# Linhas de dados
for i in range(1, sheet.Rows.Count):
sheet.Rows.get_Item(i).Style.HorizontalAlignment = HorizontalAlignType.Left
# Ajuste automático da largura da coluna
for i in range(sheet.Columns.Count):
sheet.AutoFitColumn(i + 1)
# Salve o arquivo Excel
workbook.SaveToFile("output/FormatXLSXFile.xlsx")
workbook.Dispose()
O arquivo XLSX de saída:

Definir Formatos de Número para Células
- Python
from spire.xls import Workbook, ExcelVersion
# Crie uma instância de Workbook
workbook = Workbook()
# Obtenha a primeira planilha
sheet = workbook.Worksheets.get_Item(0)
# Formate uma célula como número
sheet.Range.get_Item(1, 2).NumberValue = 1234567890
sheet.Range.get_Item(1, 2).NumberFormat = "[Red]#,##0;[Green]#,##0"
# Formate uma célula como data
sheet.Range.get_Item(2, 2).NumberValue = 45562
sheet.Range.get_Item(2, 2).NumberFormat = "yyyy-mm-dd"
# Formate uma célula como hora
sheet.Range.get_Item(3, 2).NumberValue = 45562
sheet.Range.get_Item(3, 2).NumberFormat = "hh:mm:ss"
# Formate uma célula como moeda
sheet.Range.get_Item(4, 2).NumberValue = 1234567890
sheet.Range.get_Item(4, 2).NumberFormat = "_($* #,##0.00_);_($* (#,##0.00);_($* ""-""??_);_(@_)"
# Formate uma célula como porcentagem
sheet.Range.get_Item(5, 2).NumberValue = 0.1234567890
sheet.Range.get_Item(5, 2).NumberFormat = "0.00%"
# Formate uma célula como fração
sheet.Range.get_Item(6, 2).NumberValue = 0.1234567890
sheet.Range.get_Item(6, 2).NumberFormat = "0.00_ ?"
# Formate uma célula como número científico
sheet.Range.get_Item(7, 2).NumberValue = 1234567890
sheet.Range.get_Item(7, 2).NumberFormat = "0.00E+00"
# Ajuste automático da largura da coluna
for i in range(sheet.Columns.Count):
sheet.AutoFitColumn(i + 1)
# Salve o arquivo Excel
workbook.SaveToFile("output/SetNumberFormat.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
O arquivo XLSX de saída:

Aplicar Estilos Embutidos a Células
- Python
from spire.xls import Workbook, BuiltInStyles
# Crie uma instância de Workbook
workbook = Workbook()
# Carregue o arquivo Excel
workbook.LoadFromFile("Sample.xlsx")
# Obtenha a primeira planilha
sheet = workbook.Worksheets.get_Item(0)
# Aplique o estilo de cabeçalho embutido à primeira linha
sheet.Rows.get_Item(0).BuiltInStyle = BuiltInStyles.Heading2
# Aplique o estilo de rodapé embutido às linhas de dados
for i in range(1, sheet.Rows.Count):
sheet.Rows.get_Item(i).BuiltInStyle = BuiltInStyles.Accent2_20
# Ajuste automático da largura da coluna
for i in range(sheet.Columns.Count):
sheet.AutoFitColumn(i + 1)
# Salve o arquivo Excel
workbook.SaveToFile("output/ApplyBuiltInStyle.xlsx")
workbook.Dispose()
O arquivo XLSX de saída:

Conclusão
Neste guia, exploramos como escrever arquivos XLSX com Python usando o Spire.XLS — da escrita básica à formatação. Seja para gerar relatórios, automatizar exportações ou construir aplicativos orientados a dados, o Spire.XLS for Python oferece uma solução confiável e eficiente para a geração de arquivos Excel.
Obtenha uma Licença Gratuita
Você pode solicitar uma licença de avaliação gratuita de 30 dias para a versão completa do Spire.XLS for Python. Isso permite que você explore todos os recursos avançados sem limitações durante o período de avaliação.