Como criar células com Aspose.Cells FOSS em Python

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?

  1. Não é necessário Excel: A formatação é executada inteiramente em Python em qualquer sistema operacional.
  2. 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.
  3. Nomes de propriedade legíveis: bold, italic, underline, strikethrough:Não: is_ Prefixo para lembrar.
  4. Objetos de fonte reutilizáveis:Criação de um Font O 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-foss

Nã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, SaveFormat

Passo 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ênciaNotas
Negro .FF000000Cor de fonte padrão
BrancoFFFFFFFFUtilização em fundo escuro
Vermelho .FFFF0000Texto de alerta ou destaque
Azul .FF0000FFLinks ou ênfase
VerdeFF00FF00Valores positivos ou sucesso
LaranjaFFFF8000Texto de alerta
CinzaFF808080Texto submetido ou desativado
MarinhaFF1E64C8Azul 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"
size11
color"FF000000"
boldFalse
italicFalse
underlineFalse
strikethroughFalse

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 = False

Em 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:

Ver também:

 Português