How to Style Cells with Aspose.Cells FOSS in Python
Aspose.Cells FOSS for Python lehetővé teszi, hogy betűstílusokat és háttérkitöltéseket alkalmazzon az egyes cellákra a cell.style.font és cell.style.fill API-k. A színek kifejezése 8-digit AARRGGBB hex strings; például "FFFF0000" az átlátszatlan pirosra, előtag nélkül # előtag. Minden stílus tisztán Python-ban készül, Microsoft Excel vagy bármely külső renderelő könyvtár függősége nélkül.
Why Style Cells with Aspose.Cells FOSS?
- Excel nem szükséges: A formázás teljesen Python-ban fut bármely operációs rendszeren.
- Következetes színmodell: Egyetlen 8 számjegyű AARRGGBB karakterlánc lefedi a betűszínt és a kitöltőszínt ugyanazzal a formátummal.
- Olvasható tulajdonnevek:
bold,italic,underline,strikethrough: nincsis_előtag, amit meg kell jegyezni. - Újrahasználható betűtípus objektumok: Hozzon létre egy
Fontpéldányt egyszer, és alkalmazza sok cellára a következetes márkajelzés érdekében.
Lépésről-lépésre útmutató
1. lépés: Telepítse a Aspose.Cells FOSS-t a Python számára
pip install aspose-cells-fossNem szükséges további rendszercsomag. Importáld a szükséges osztályokat a aspose.cells_foss:
from aspose.cells_foss import Workbook, Cell, Font, SaveFormatStep 2: Set Font Name and Size
Érj el egy cellát a ws.cells["address"] és írj a cell.style.font.name és 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")Az alapértelmezett betűtípus Calibri, 11 pt. Bármely betűtípus neve, amely elérhető azon a rendszeren, ahol a fájlt megnyitják, használható; ha egy nem telepített betűtípust adunk meg, az nem okoz hibát, de a fájl megnyitásakor helyettesítő betűtípussal jelenhet meg.
Step 3: Set Font Color Using an AARRGGBB Hex String
A betűszínek beállítása egy 8-digit hexadecimal string rendszerben AARRGGBB sorrendben (Alpha, Red, Green, Blue). Ne ne tartalmazzon egy # előtagot.
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")Common AARRGGBB color reference:
| Szín | AARRGGBB karakterlánc | Megjegyzések |
|---|---|---|
| Fekete | FF000000 | Alapértelmezett betűszín |
| Fehér | FFFFFFFF | Használja sötét háttéren |
| Piros | FFFF0000 | Riasztás vagy kiemelt szöveg |
| Kék | FF0000FF | Linkek vagy hangsúly |
| Zöld | FF00FF00 | Pozitív értékek vagy siker |
| Narancs | FFFF8000 | Figyelmeztető szöveg |
| Szürke | FF808080 | Visszafogott vagy letiltott szöveg |
| Tengerészkék | FF1E64C8 | Vállalati / márka kék |
Az első két hexadecimális számjegy az alfa csatorna. Használja FF a teljesen átlátszatlanhoz. Az alatti értékek FF félig átlátszó eredményeket adnak azokban a renderelőkben, amelyek támogatják az alfa keverést.
4. lépés: Félkövér, dőlt, aláhúzott és áthúzott alkalmazása
Állítsa be minden attribútumot közvetlenül logikai értékként. A tulajdonságnevek bold, italic, underline, és strikethrough; tegye ne használja is_bold vagy is_italic (ezek a nevek nem léteznek a FOSS API-ban, és hibát okoznak 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")Az összes négy jelző alapértelmezés szerint False. Szabadon kombinálhatók ugyanazon cellán.
5. lépés: Szilárd háttérkitöltő szín beállítása
Használja cell.style.fill.set_solid_fill("AARRGGBB") háttérkitöltés alkalmazásához. A színformátum ugyanaz a 8 számjegyű AARRGGBB hexadecimális karakterlánc, mint a betűszín esetén.
A kitöltés teljes eltávolításához hívja meg 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() és set_no_fill() kölcsönösen kizárják egymást; az egyik meghívása felülírja a másikat ugyanazon a cellán.
6. lépés: Több stílus kombinálása egy cellán
Bármennyi stílus tulajdonságot láncolhatsz ugyanazon a cellahivatkozáson. Nincs korlátozás arra, hogy hány stílus attribútumot állítasz be mentés előtt.
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.")Ez egy fehér, félkövér, 16pt Arial címkét hoz létre egy tengerkék háttéren, ami gyakori minta az oszlopfejlécekhez.
7. lépés: A Font konstruktor használata újrahasználható stílusokhoz
A Font osztály egyetlen hívással példányosítható az összes tulajdonságával, majd több cellához is hozzárendelhető. Ez akkor hasznos, ha egységes házi stílust szeretne alkalmazni sok cellán anélkül, hogy ugyanazokat a tulajdonságbeállításokat ismételné.
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.")Betűtípus-építő alapértelmezett értékek (az összes paraméter opcionális):
| Paraméter | Alapértelmezett |
|---|---|
name | "Calibri" |
size | 11 |
color | "FF000000" |
bold | False |
italic | False |
underline | False |
strikethrough | False |
Teljes működő példa
Az alábbi önálló szkript egy munkafüzetet hoz létre, amely stílusos fejlécsort, színezett adat sorokat és egy összegző cellát tartalmaz, bemutatva a fent lefedett összes stílus API-t:
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.")Gyakori problémák
Hibás színformátum: a(z) #RRGGBB helyett AARRGGBB
Egy kezdő # (például. "#FF0000") vagy egy 6 számjegyű RGB karakterlánc nem fogja előállítani a várt színt. A tulajdonság pontosan ezt várja 8 hex digits with no prefix: "FFFF0000". Az első két számjegy az alfa csatorna; használja FF a teljesen átlátszatlanhoz.
AttributeError: 'Font' object has no attribute 'is_bold'
A FOSS API használ bold, italic, underline, és strikethrough mint a tulajdonságneveket. A is_bold / is_italic a névadási konvenció egy másik könyvtárhoz tartozik, és itt nem létezik. Cserélje ki a is_bold referenciát a bold.
A stílusváltozások nem láthatók a mentés után
Győződjön meg róla, hogy a cellaobjektumra állítja be a stílus tulajdonságokat előtt hívás workbook.save(). A cellára vonatkozó tulajdonság beállítása a mentés hívása után nem befolyásolja a már írt fájlt. Ha újrahasznál egy cell változót, ellenőrizze, hogy még mindig a megfelelő cellacímre mutat-e.
A kitöltés és a betűtípus ugyanazon a cellán vizuálisan ütköznek
Nincs API-ütközés; mindig beállíthatja mindkettőt cell.style.font.color és cell.style.fill.set_solid_fill() függetlenül. Győződjön meg róla, hogy a szövegszín elegendő kontrasztot biztosít a háttérszínnel. Fehér szöveg (FFFFFFFF) egy sötét kitöltésen, például tengerészkék (FF1E64C8) megbízható kombináció.
Gyakran Ismételt Kérdések
Hogyan távolíthatom el a háttérkitöltést, és állíthatom vissza a cellát kitöltés nélküli állapotba?
Hívja cell.style.fill.set_no_fill(). Ez eltávolítja a celláról a korábban beállított szilárd kitöltést.
Hogyan állíthatom vissza a cellát az alapértelmezett betűtípusra (Calibri 11pt fekete)?
Explicit módon rendelje újra az alapértelmezett értékeket:
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 = FalseAlternatívaként hozzon létre egy Font() példány argumentumok nélkül (minden alapértelmezett) és rendeld hozzá: cell.style.font = Font().
Alkalmazhatom ugyanazt a betűstílust egy cellatartományra egy ciklusban?
Igen. Iterálj a cellacímeken, és állítsd be ugyanazokat a tulajdonságokat mindegyiken. Ha a Font konstruktorral egy megosztott Font objektumot, rendeld hozzá minden cellához a ws.cells[addr].style.font = my_font.
A stílus befolyásolja a cella értékeit vagy képleteit?
Nem. A stílusolvasztás kizárólag vizuális metaadat. cell.style.font és cell.style.fill nem érintik .value vagy .formula.
Mely mentési formátumok őrzik meg a stílusokat?
A stílusok teljes mértékben megmaradnak, amikor mentésre kerül a SaveFormat.XLSX. A SaveFormat.CSV, SaveFormat.TSV, SaveFormat.JSON, és SaveFormat.MARKDOWN formátumok egyszerű szöveges vagy strukturált szöveges formátumok, és nem tartalmaznak stílusinformációt.
Kapcsolódó források:
- Aspose.Cells FOSS for Python: Developer Guide
- Táblázatkezelő műveletek
- Hogyan töltsünk be táblázatokat a Python‑ben
- Hogyan hozzunk létre diagramokat a Python‑ben
- API-referencia: Font, Fill, Style
- Termék áttekintés: Jellemzők és képességek összefoglalása
- Blog: A Aspose.Cells FOSS bemutatása: Könyvtár áttekintés és gyors kezdés