Jak stylovat buňky s Aspose.Cells FOSS v Pythonu
Aspose.Cells FOSS for Python umožňuje aplikovat typy písma a vyplnění pozadí do jednotlivých buněk pomocí cell.style.font a) cell.style.fill Barvy jsou vyjádřeny jako: 8-digit AARRGGBB hex strings;, například: "FFFF0000" pro neprůhlednou červenou, bez: # Všechny stylování je provedeno v čistém Pythonu bez závislosti na Microsoft Excel nebo jakékoliv externí renderovací knihovně.
Proč vylepšovat buňky s Aspose.Cells FOSS?
- Nepotřebujete Excel: Formátování běží zcela v Pythonu na jakémkoli operačním systému.
- Konzistentní barevný model: Jediný osmiciferný řetěz AARRGGBB pokrývá barvu písma a barvy vyplnění stejným formátem.
- Čitelné názvy vlastností:
bold,italic,underline,strikethrough: neis_Předepísek na paměť. - Objekty s opětovným použitím písma:Vytvořit:
FontVyužijte tento příklad jednou a použijte ho na mnoho buněk pro konzistentní značku.
Krok za krokem
Krok 1: Nainstalujte Aspose.Cells FOSS pro Python
pip install aspose-cells-fossŽádné další systémové balíčky nejsou nutné. Importovat třídy, které potřebujete z aspose.cells_foss:
from aspose.cells_foss import Workbook, Cell, Font, SaveFormatKrok 2: Nastavit jméno a velikost písma
Přístup k buňce přes: ws.cells["address"] a napsat na: cell.style.font.name 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")Předvolený font je: Kalibr na 11pts..Je možné použít jakékoliv jméno písma, které je k dispozici v systému, kde bude soubor otevřen; uvedení písmu, který není nainstalován, nezpůsobuje chybu, ale může při otevírání souboru vykreslit záložní písmo.
Krok 3: Nastavit barvu písma pomocí řetězce AARRGGBB Hex
Barvy písma jsou nastaveny s 8-digit hexadecimal string v . AARRGGBB Pořadí (Alfa, Červená, Zelená, Modrá). Ne, není. zahrnují: # Předepísek.
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")Společný referenční barvy AARRGGBB:
| Barva: | AARRGGBB řetěz | Poznámky |
|---|---|---|
| Černá. | FF000000 | Předvolená barva písma |
| Bílá | FFFFFFFF | Použití na tmavém pozadí |
| Červená. | FFFF0000 | Text varování nebo zvýraznění |
| Modrá. | FF0000FF | Odkazy nebo zdůrazňování |
| Zelená | FF00FF00 | Pozitivní hodnoty nebo úspěch |
| Oranžová | FFFF8000 | Varovný text |
| Šedé | FF808080 | Zkrácený nebo vyřazený text |
| Námořnictvo | FF1E64C8 | Modrá značka / firemní modra |
První dvě hexáziové číslice jsou alfa kanál. FF pro plně neprůhledné. FF V případě, že se použije systém pro přidávání a zpracování dat, musí být tato metoda použita.
Krok 4: Aplikujte v tučných, kurzivních a podtržených písmenech.
Každý atribut nastavit přímo jako boolean. Název vlastností jsou bold, italic, underline,a) strikethrough; provést Ne, není. použití: is_bold nebo: is_italic (těmito jmény neexistuje na FOSS API a bude vzbuzovat 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")Všechny čtyři vlajky jsou nastaveny na: False.Mohou být volně kombinovány ve stejné buňce.
Krok 5: Nastavte pevnou barvu doplňku pozadí
Použití: cell.style.fill.set_solid_fill("AARRGGBB") Barvový formát je stejný jako osmiciferný hexáziový řetěz AARRGGBB, který je barvou písma.
Abyste vymazali plnění, zavolejte: 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() a) set_no_fill() jsou vzájemně vylučující; volání jednoho přesahuje druhé v téže buňce.
Krok 6: Spojit více stylů do jedné buňky
Můžete řetězít jakákoliv čísla vlastností stylu na stejném odkazu buňky. Není omezeno, kolik atributů styru je nastaveno před uložením.
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.")To vytváří bílou, tučnou 16pt Arialovou štítku na námořním pozadí, běžný vzorec pro nadpisy sloupců.
Krok 7: Použijte konstruktor písma pro opakovaně použitelné styly
Úřad pro bezpečnost a ochranu zdraví Font třída může být instanciated se všemi svými vlastnostmi v jednom volání, a pak přiděleny do více buněk. To je užitečné, když chcete konzistentní styl domu aplikován přes mnoho buníků bez opakování stejných vlastností přiřazení.
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.")Předvolené hodnoty konstruktoru písma (všechny parametry jsou volitelné):
| Parametr: | Předvoleně |
|---|---|
name | "Calibri" |
size | 11 |
color | "FF000000" |
bold | False |
italic | False |
underline | False |
strikethrough | False |
Kompletní příklad
Následující samostatný skript vytváří pracovní knihu se stylovaným řádkem hlavičky, barevnými datovými řadami a souhrnnou buňkou demonstrující každou stylizovanou API uvedenou výše:
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.")Obvyklé problémy
Nepravdivý barevný formát: použitím #RRGGBB místo: AARRGGBB
Hlavní roli. # (např. "#FF0000") nebo 6-ciferný řetěz RGB nevytvoří očekávanou barvu. Vlastnost očekává přesně 8 hex digits with no prefix: "FFFF0000".První dvě číslice jsou alfa kanál . FF pro plně neprůhledné.
AttributeError: 'Font' object has no attribute 'is_bold'
FOSS API používá: bold, italic, underline,a) strikethrough jako jména nemovitostí. is_bold / is_italic Jmenování konvence patří do jiné knihovny a neexistuje zde. Naměňte jakékoli is_bold odkaz na: bold.
Změny stylu nejsou viditelné po uložení .
Ujistěte se , že jste nastavili vlastnosti stylu na objekty buněk . předchozí volání. workbook.save().Nastavení vlastností na buňku po volání uložení nemá žádný vliv na již napsaný soubor. Pokud znovu použijete cell Změnitel, potvrdím že stále odkazuje na správnou adresu buňky.
Vyzkoušejte vizuální konflikt vyplnění a písma ve stejné buňce.
Neexistuje žádný konflikt API; můžete vždy nastavit oba cell.style.font.color a) cell.style.fill.set_solid_fill() Zkontrolujte, zda má barva textu dostatečný kontrast s barvou pozadí. Bílý text (FFFFFFFF) na tmavé plnění, jako je navy (FF1E64C8) je spolehlivá kombinace.
Časté otázky
Jak odstraním zadání pozadí a vrátím buňku k žádné vyplnění?
Zavolej . cell.style.fill.set_no_fill().Tím se z buňky odstraňuje jakékoliv dříve nastavené pevné plnění.
Jak nastavit buňku na standardní písmo (Calibri 11pt černá)?
Přidělit výrazně nové standardní hodnoty:
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 = FalseAlternativně vytvořte Font() instance bez argumentů (všechny standardy) a přiřadit: cell.style.font = Font().
Mohu použít stejný styl písma na rozsah buněk v smyčce?
Ano, iterujte adresy a nastavujte pro každou stejné vlastnosti. Font konstruktor vytvořit sdílené Font objekt, přiřadit ho do každé buňky s ws.cells[addr].style.font = my_font.
Ovlivňuje stylování hodnoty buněk nebo vzorce?
Ne, stylování je čistě vizuální metadata. cell.style.font a) cell.style.fill nedotýkejte se. .value nebo: .formula.
Které formáty ukládání zachovávají styly?
Stylové prvky jsou plně zachovány při ukládání do SaveFormat.XLSX.- To je ono . SaveFormat.CSV, SaveFormat.TSV, SaveFormat.JSON,a) SaveFormat.MARKDOWN formáty jsou formáty prostého textu nebo strukturovaného texdu a neobsahují informace o stylu.
Související zdroje:
- Aspose.Cells FOSS for Python: Developer Guide
- Operace tabulky
- Jak načítat tabulky v Pythonu
- Jak vytvořit grafy v Pythonu?
- Odkaz na API: písmo, vyplnění, styl
- Přehled produktu: Souhrnnost vlastností a schopností
- Blog: Představuji Aspose.Cells FOSS: Přehled knihovny a rychlý start