Como Escrever Arquivos XLSX com Python | Spire.XLS

2025-06-30 06:07:04 zaki zou

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.

Escrever Arquivos XLSX com Código 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 um Arquivo XLSX Simples com Python

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:

Escrever Diferentes Tipos de Dados em Arquivo XLSX com Código Python

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:

Formatar Células em Arquivos XLSX com Código Python

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:

Definir Formatos de Número para Células em Arquivos XLSX com Python

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:

Aplicar Estilos Embutidos a Arquivos XLSX com Python

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.

Veja Também