Como criar células com Aspose.Cells FOSS em Python
Aspose.Cells FOSS for Python permite aplicar estilos de fonte e preenchimento de fundo para células individuais usando o cell.style.font e a) cell.style.fill APIs. As cores são expressas como: 8-digit AARRGGBB hex strings; por exemplo: "FFFF0000" para vermelho opaco, com: # Todo o estilo é feito em Python puro sem dependência do Microsoft Excel ou de qualquer biblioteca externa.
Por que usar células com fossa?
- Não é necessário Excel: A formatação é executada inteiramente em Python em qualquer sistema operacional.
- Modelo de cores consistente: Uma única cadeia de 8 dígitos AARRGGBB cobre a cor da fonte e a cores do preenchimento com o mesmo formato.
- Nomes de propriedade legíveis:
bold,italic,underline,strikethrough:Não:is_Prefixo para lembrar. - Objetos de fonte reutilizáveis:Criação de um
FontO que é um exemplo de uma vez e aplicá-lo a muitas células para marca consistente.
Guia passo a passo
Passo 1: Instalar Aspose.Cells FOSS para Python
pip install aspose-cells-fossNão são necessários pacotes de sistema adicionais. Importe as classes que você precisa a partir do aspose.cells_foss:
from aspose.cells_foss import Workbook, Cell, Font, SaveFormatPasso 2: Configurar o nome e tamanho da fonte
Acesso a uma célula através de: ws.cells["address"] E escrever para: cell.style.font.name e a) cell.style.font.size.
from aspose.cells_foss import Workbook
workbook = Workbook()
ws = workbook.worksheets[0]
ws.cells["A1"].value = "Styled Header"
cell = ws.cells["A1"]
cell.style.font.name = "Arial"
cell.style.font.size = 14
workbook.save("styled.xlsx")A fonte padrão é: Calibre a 11pt..Pode ser utilizado qualquer nome de fonte disponível no sistema onde o arquivo será aberto; especificar uma fonte que não esteja instalada não causa um erro, mas pode render com uma font backup quando o ficheiro é aberto.
Passo 3: Configurar a cor da fonte usando uma cadeia hexagonal AARRGGBB
As cores de fonte são definidas com um 8-digit hexadecimal string em: AARRGGBB ordem (Alfa, Vermelho, Verde, Azul). Não, não. incluem um # Prefixo.
from aspose.cells_foss import Workbook
workbook = Workbook()
ws = workbook.worksheets[0]
ws.cells["A1"].value = "Red text"
ws.cells["A1"].style.font.color = "FFFF0000" # opaque red
ws.cells["A2"].value = "Blue text"
ws.cells["A2"].style.font.color = "FF0000FF" # opaque blue
ws.cells["A3"].value = "Green text"
ws.cells["A3"].style.font.color = "FF00FF00" # opaque green
workbook.save("colored_text.xlsx")Referência comum de cor AARRGGBB:
| Cor: | AARRGGBB sequência | Notas |
|---|---|---|
| Negro . | FF000000 | Cor de fonte padrão |
| Branco | FFFFFFFF | Utilização em fundo escuro |
| Vermelho . | FFFF0000 | Texto de alerta ou destaque |
| Azul . | FF0000FF | Links ou ênfase |
| Verde | FF00FF00 | Valores positivos ou sucesso |
| Laranja | FFFF8000 | Texto de alerta |
| Cinza | FF808080 | Texto submetido ou desativado |
| Marinha | FF1E64C8 | Azul corporativo / de marca |
Os dois primeiros dígitos hexagonais são o canal alfa. FF Para os tipos de material: FF produzir resultados semitransparentes em renderizadores que suportam a mistura alfa.
Passo 4: Aplique em negrito, itálico, sublinhado e através de marcação.
Defina cada atributo diretamente como um booleano. Os nomes de propriedade são: bold, italic, underline, e strikethrough; fazer Não, não. uso de is_bold ou a) is_italic (esses nomes não existem na API FOSS e vão levantar AttributeError).
from aspose.cells_foss import Workbook
workbook = Workbook()
ws = workbook.worksheets[0]
ws.cells["A1"].value = "Bold"
ws.cells["A1"].style.font.bold = True
ws.cells["A2"].value = "Italic"
ws.cells["A2"].style.font.italic = True
ws.cells["A3"].value = "Underline"
ws.cells["A3"].style.font.underline = True
ws.cells["A4"].value = "Strikethrough"
ws.cells["A4"].style.font.strikethrough = True
ws.cells["A5"].value = "Bold + Italic"
ws.cells["A5"].style.font.bold = True
ws.cells["A5"].style.font.italic = True
workbook.save("font_styles.xlsx")Todas as quatro bandeiras padrão para False.Podem ser combinados livremente na mesma célula.
Passo 5: Configure uma cor de preenchimento sólida para o fundo
Utilização: cell.style.fill.set_solid_fill("AARRGGBB") O formato da cor é a mesma cadeia hexagonal de 8 dígitos AARRGGBB que a cor da fonte.
Para remover um preenchimento inteiramente, chamar cell.style.fill.set_no_fill().
from aspose.cells_foss import Workbook
workbook = Workbook()
ws = workbook.worksheets[0]
ws.cells["A1"].value = "Navy background"
ws.cells["A1"].style.fill.set_solid_fill("FF1E64C8") # opaque navy blue
ws.cells["A2"].value = "Light yellow background"
ws.cells["A2"].style.fill.set_solid_fill("FFFFFFCC") # pale yellow
ws.cells["A3"].value = "No fill"
ws.cells["A3"].style.fill.set_no_fill() # remove any fill
workbook.save("cell_fills.xlsx")set_solid_fill() e a) set_no_fill() são mutuamente exclusivos; chamar um substitui o outro na mesma célula.
Passo 6: Combinar vários estilos numa célula
Pode-se encadear qualquer número de propriedades do estilo na mesma referência da célula. Não há limite para quantos atributos do tipo são definidos antes de guardar.
from aspose.cells_foss import Workbook
workbook = Workbook()
ws = workbook.worksheets[0]
ws.cells["B2"].value = "Branded Header"
cell = ws.cells["B2"]
##Font
cell.style.font.name = "Arial"
cell.style.font.size = 16
cell.style.font.bold = True
cell.style.font.color = "FFFFFFFF" # white text
##Background
cell.style.fill.set_solid_fill("FF1E64C8") # navy fill
workbook.save("branded_header.xlsx")
print("Branded header cell saved.")Isso produz um rótulo Arial branco, em negrito e de 16 pts sobre fundo marinho, um padrão comum para cabeçalhos de coluna.
Passo 7: Use o Construtor de Fontes para estilos reutilizáveis
A Comissão Font classe pode ser instanciada com todas as suas propriedades em uma chamada, e então atribuída a várias células. Isto é útil quando você quer um estilo de casa consistente aplicado em muitas células sem repetir as mesmas atribuições de proprietade.
from aspose.cells_foss import Workbook, Font
workbook = Workbook()
ws = workbook.worksheets[0]
##Define a reusable heading font
heading_font = Font(
name="Arial",
size=14,
color="FF1E64C8", # navy
bold=True,
italic=False,
underline=False,
strikethrough=False
)
##Define a reusable body font
body_font = Font(
name="Calibri",
size=11,
color="FF000000", # black (default)
bold=False,
italic=False,
underline=False,
strikethrough=False
)
##Apply heading font to header row
headers = ["Product", "SKU", "Price", "Stock"]
for col, header in enumerate(headers):
addr = f"{chr(65 + col)}1"
ws.cells[addr].value = header
ws.cells[addr].style.font = heading_font
ws.cells[addr].style.fill.set_solid_fill("FFE8EFF9") # light blue tint
##Apply body font to data rows
data = [
("Widget A", "WGT-001", 9.99, 150),
("Widget B", "WGT-002", 14.99, 87),
("Widget C", "WGT-003", 4.49, 320),
]
for row_idx, (name, sku, price, stock) in enumerate(data, start=2):
ws.cells[f"A{row_idx}"].value = name
ws.cells[f"B{row_idx}"].value = sku
ws.cells[f"C{row_idx}"].value = price
ws.cells[f"D{row_idx}"].value = stock
for col in "ABCD":
ws.cells[f"{col}{row_idx}"].style.font = body_font
workbook.save("product_table.xlsx")
print("Product table with reusable fonts saved.")Valores padrão do constructor de fontes (todos os parâmetros são opcionais):
| Parâmetro: | Padrão |
|---|---|
name | "Calibri" |
size | 11 |
color | "FF000000" |
bold | False |
italic | False |
underline | False |
strikethrough | False |
Exemplo de trabalho completo
O seguinte script autônomo cria uma pasta de trabalho com uma linha de cabeçalho estilizada, linhas de dados coloridas e uma célula resumida demonstrando cada API de estilo coberta acima:
from aspose.cells_foss import Workbook, Cell, Font, SaveFormat
workbook = Workbook()
ws = workbook.worksheets[0]
ws.name = "Sales Report"
##--- Header row (bold, white text on navy background) ---
headers = ["Region", "Q1", "Q2", "Q3", "Q4", "Total"]
for col, text in enumerate(headers):
addr = f"{chr(65 + col)}1"
ws.cells[addr].value = text
ws.cells[addr].style.font.name = "Arial"
ws.cells[addr].style.font.size = 12
ws.cells[addr].style.font.bold = True
ws.cells[addr].style.font.color = "FFFFFFFF" # white
ws.cells[addr].style.fill.set_solid_fill("FF1E64C8") # navy
##--- Data rows ---
data = [
("North", 42000, 47500, 53000, 61000),
("South", 31000, 28500, 35000, 39000),
("East", 55000, 62000, 58000, 71000),
("West", 27000, 30000, 33000, 41000),
]
for row_idx, (region, q1, q2, q3, q4) in enumerate(data, start=2):
ws.cells[f"A{row_idx}"].value = region
ws.cells[f"B{row_idx}"].value = q1
ws.cells[f"C{row_idx}"].value = q2
ws.cells[f"D{row_idx}"].value = q3
ws.cells[f"E{row_idx}"].value = q4
# Total formula
ws.cells[f"F{row_idx}"] = Cell(None, f"=SUM(B{row_idx}:E{row_idx})")
# Alternate row shading
if row_idx % 2 == 0:
for col in "ABCDEF":
ws.cells[f"{col}{row_idx}"].style.fill.set_solid_fill("FFE8EFF9")
##--- Italic note in a footer cell ---
ws.cells["A7"].value = "All values in USD"
ws.cells["A7"].style.font.italic = True
ws.cells["A7"].style.font.color = "FF808080" # gray
ws.cells["A7"].style.font.size = 9
##--- Strikethrough on a deprecated label ---
ws.cells["A8"].value = "Old metric (deprecated)"
ws.cells["A8"].style.font.strikethrough = True
ws.cells["A8"].style.font.color = "FF808080"
workbook.save("sales_report_styled.xlsx", SaveFormat.XLSX)
print("Styled sales report saved.")Problemas comuns
Formatar cor errado: usando #RRGGBB em vez de: AARRGGBB
Um protagonista . # (por exemplo:. "#FF0000") ou uma cadeia de 6 dígitos RGB não produzirá a cor esperada. A propriedade espera que exatamente o valor da linha é igual ao número de cores do arquivo, mas apenas um pouco mais alto. 8 hex digits with no prefix: "FFFF0000".Os dois primeiros dígitos são o canal alfa; utilizar FF para a total opacidade.
AttributeError: 'Font' object has no attribute 'is_bold'
O FOSS API utiliza bold, italic, underline, e strikethrough como os nomes das propriedades. is_bold / is_italic nomeação convenção pertence a uma biblioteca diferente e não existe aqui. Substitua qualquer is_bold referência com: bold.
Mudanças de estilo não visíveis após a gravação
Certifique-se de definir propriedades do estilo no objeto da célula . antes de chamando. workbook.save(). A definição de uma propriedade em um celular após a chamada salva não tem efeito sobre o arquivo já escrito. Se você reutilizar um cell Variavel, confirme que ainda se refere ao endereço de célula correto.
Preencher e fonte na mesma célula conflitante visualmente
Não há conflito de API; você sempre pode definir ambos cell.style.font.color e a) cell.style.fill.set_solid_fill() Certifique-se de que a cor do texto tem contraste suficiente com a cores de fundo.FFFFFFFF) em um preenchimento escuro, como navy (FF1E64C8) é uma combinação fiável.
Perguntas Frequentes
Como eu remover um preenchimento de fundo e retornar uma célula para nenhum preensão?
Chama-me . cell.style.fill.set_no_fill().Isto remove qualquer preenchimento sólido pré-estabelecido da célula.
Como restabelecer uma célula para a fonte padrão (Calibri 11pt preto)?
Reatribuir os valores predefinidos explicitamente:
cell.style.font.name = "Calibri"
cell.style.font.size = 11
cell.style.font.color = "FF000000"
cell.style.font.bold = False
cell.style.font.italic = False
cell.style.font.underline = False
cell.style.font.strikethrough = FalseEm alternativa, criar um sistema de gestão da informação. Font() instância sem argumentos (todos os padrões) e atribuí-la: cell.style.font = Font().
Posso aplicar o mesmo estilo de fonte para um intervalo de células em um loop?
Iterar sobre os endereços celulares e definir as mesmas propriedades em cada um. Font constructor para criar um compartilhado Font objeto, atribuí-lo a cada célula com ws.cells[addr].style.font = my_font.
O estilo afeta os valores das células ou as fórmulas?
Não, o estilo é puramente metadados visuais. cell.style.font e a) cell.style.fill Não toque. .value ou a) .formula.
Que formatos de armazenamento preservam estilos?
Os estilos são totalmente preservados quando se salva para o SaveFormat.XLSX.O . SaveFormat.CSV, SaveFormat.TSV, SaveFormat.JSON, e SaveFormat.MARKDOWN Os formatos são de texto simples ou de textos estruturados e não contêm informações sobre o estilo.
Recursos relacionados:
- Aspose.Cells FOSS for Python: Developer Guide
- Operações de folha de cálculo
- Como carregar planilhas em Python
- Como criar gráficos em Python
- Referência da API: fonte, preenchimento e estilo
- Descrição geral do produto: Resumo das características e capacidades
- Blog: Introdução do Aspose.Cells FOSS: Visão geral da biblioteca e início rápido