Wie man Zellen mit Aspose.Cells FOSS in Python styliert
Aspose.Cells FOSS for Python Sie können Schriftartstyles und Hintergrundfüllungen auf einzelne Zellen anwenden, indem Sie die cell.style.font und . cell.style.fill Die Farben werden als: 8-digit AARRGGBB hex strings;Zum Beispiel: "FFFF0000" für undurchsichtiges Rot, ohne # Alle Styling wird in reinem Python ohne Abhängigkeit von Microsoft Excel oder einer externen Render-Bibliothek durchgeführt.
Warum Zellen mit FOSS?
- Keine Excel-Funktion erforderlich: Die Formatierung läuft auf jedem Betriebssystem vollständig in Python.
- Konsistentes Farbmodell: Ein einzelner 8-stelliger AARRGGBB-Zeichen enthält Schriftfarbe und Füllfarben im gleichen Format.
- Lesbare Eigenschaftsnamen:
bold,italic,underline,strikethrough: nichtis_Vorwort zum Erinnern. - Wiederverwendbare Schriftobjekte:Erstellen einer
FontEinmal und auf viele Zellen für einheitliche Markenbildung.
Schritt für Schritte
Schritt 1: Installieren Sie Aspose.Cells FOSS für Python
pip install aspose-cells-fossEs sind keine zusätzlichen Systempakete erforderlich. Importieren Sie die benötigten Klassen aus aspose.cells_foss:
from aspose.cells_foss import Workbook, Cell, Font, SaveFormatSchritt 2: Namen und Größe der Schriftart festlegen
Zugriff auf eine Zelle durch ws.cells["address"] und schreiben Sie an: cell.style.font.name und . 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")Die Standardschriftart ist: Kalibri auf 11pt..Jeder Schriftnamen, der auf dem System verfügbar ist, wo die Datei geöffnet wird, kann verwendet werden; das Anlegen einer nicht installierten Schrifttype verursacht keinen Fehler, aber es kann bei Öffnung der Daten eine Rückstandsschrift darstellen.
Schritt 3: Fontschrift mit einer AARRGGBB Hex-Zeichenzeile festlegen
Schriftfarben werden mit einem 8-digit hexadecimal string in der AARRGGBB Die Bezeichnung “Alpha” ist in der Reihenfolge (alfa, rot, grün, blau) zu finden. nicht . Einbeziehung einer # Vorwort.
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")Gemeinsame AARRGGBB-Farbbezug:
| Farbe | AARRGGBB-Zeichenzeichen | Anmerkungen |
|---|---|---|
| Schwarz . | FF000000 | Standard-Schriftfarbe |
| Weiß | FFFFFFFF | Verwendung auf dunklen Hintergründen |
| Rot | FFFF0000 | Warn- oder Highlighttext |
| Blau | FF0000FF | Verknüpfungen oder Betonung |
| Grüner | FF00FF00 | Positive Werte oder Erfolg |
| Orange (Mehr als 100 g) | FFFF8000 | Warntext |
| Grau | FF808080 | Unterdrückter oder deaktivierter Text |
| Marine und Militärschaft | FF1E64C8 | Firmen- / Markenblau |
Die ersten beiden Hexagonalziffern sind der Alpha-Kanal. FF für vollständig undurchsichtig. FF Halbtransparente Ergebnisse in Renderern erzeugen, die das Alpha-Mischnungsverfahren unterstützen.
Schritt 4: Glatte, Kursiv, Unterzeichen und Durchschlag schreiben.
Setzen Sie jedes Attribut direkt als Boolean. Die Eigenschaftsnamen sind bold, italic, underline,und . strikethrough; tun nicht . Verwendung is_bold oder is_italic (diese Namen existieren nicht in der FOSS-API und werden die 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")Alle vier Flaggen sind standardmäßig auf: False.Sie können frei in derselben Zelle kombiniert werden.
Schritt 5: Setzen Sie eine feste Hintergrundfüllfarbe ein
Verwendung cell.style.fill.set_solid_fill("AARRGGBB") Das Farbformat ist die gleiche 8-stellige AARRGGBB-Hexenschrift als Schriftschriftfarbe.
Um eine Füllung vollständig zu entfernen, rufen Sie die 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() und . set_no_fill() sind gegenseitig ausschließend; das Aufrufen eines überschreitet den anderen in derselben Zelle.
Schritt 6: Kombinieren Sie mehrere Stile in einer Zelle
Sie können eine beliebige Anzahl von Stil-Eigenschaften auf derselben Zelle verknüpfen. Es gibt keine Begrenzung, wie viele Style-Attribute vor dem Speichern gesetzt werden.
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.")Dies erzeugt ein weißes, fett gefärbtes 16pt Arial-Label auf einem Marinehintergrund, ein übliches Muster für Spaltenüberschriften.
Schritt 7: Verwenden Sie den Font-Konstruktor für wiederverwendbare Stile
Die Font Eine Klasse kann mit allen ihren Eigenschaften in einem Anruf instanziert und dann mehreren Zellen zugewiesen werden. Dies ist nützlich, wenn Sie einen konsistenten Haus-Stil über viele Zelle ohne die Wiederholung der gleichen Eigenschaft Zuordnungen angewendet wollen.
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.")Standardwerte für Schriftkonstruktoren (alle Parameter sind optional):
| Parameter | Standard-Nummer |
|---|---|
name | "Calibri" |
size | 11 |
color | "FF000000" |
bold | False |
italic | False |
underline | False |
strikethrough | False |
Vollständiges Arbeitsbeispiel
Das folgende selbstständige Skript erstellt eine Arbeitsmappe mit einer stilisierten Headerzeile, farbigen Datenzeilen und einem Zusammenfassungs-Zell, das jede oben beschriebene Styling API zeigt:
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.")Häufige Probleme
Falsches Farbformat: mit #RRGGBB statt der AARRGGBB
Eine führende Rolle . # (z.B. "#FF0000") oder eine 6-stellige RGB-Zeichenkette wird nicht die erwartete Farbe erzeugen. Die Eigenschaft erwartet genau 8 hex digits with no prefix: "FFFF0000".Die ersten beiden Ziffern sind der Alpha-Kanal; die Verwendung FF für vollständig undurchsichtig.
AttributeError: 'Font' object has no attribute 'is_bold'
Die FOSS-API verwendet bold, italic, underline,und . strikethrough Die Eigentumsnamen. is_bold / is_italic Die Namenskonvention gehört zu einer anderen Bibliothek und existiert hier nicht. Ersetzen Sie alle is_bold Verweis auf bold.
Nach dem Speichern nicht sichtbare Stiländerungen
Stellen Sie sicher, dass die Stil-Eigenschaften für das Zellobjekt festgelegt wurden . vor dem Anrufen workbook.save().Wenn Sie eine Eigenschaft auf einem Handy nach dem Speicherruf setzen, hat dies keinen Einfluss auf die bereits geschriebene Datei. cell Variable, bestätigen Sie es immer noch auf die richtige Zelladresse verweist.
Ausfüllen und Schriftart auf der gleichen Zelle Konflikt visuell
Es gibt keinen API-Konflikt; Sie können immer beide setzen cell.style.font.color und . cell.style.fill.set_solid_fill() Stellen Sie sicher, dass die Textfarbe einen ausreichenden Kontrast zur Hintergrundfarben hat. Weißer Text (FFFFFFFF) auf einer dunklen Füllung wie Navy (FF1E64C8) ist eine zuverlässige Kombination.
Häufig gestellte Fragen
Wie entferne ich eine Hintergrundfüllung und gebe eine Zelle wieder zu keiner Füllung zurück?
Rufen Sie an . cell.style.fill.set_no_fill().Dies entfernt jede zuvor festgelegte Füllung aus der Zelle.
Wie kann ich eine Zelle auf die Standardschrift (Calibri 11pt schwarz) zurücksetzen?
Die Standardwerte ausdrücklich neu zuweisen:
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 = FalseDie Kommission hat die Font() Instanz ohne Argumente (alle Standardvorgaben) und weist es zu: cell.style.font = Font().
Kann ich den gleichen Schriftstylus auf einen Bereich von Zellen in einer Schleife anwenden?
Ich habe die Adressen der Zellen wiederholt und für jede dieselben Eigenschaften festgelegt. Font Konstruktor, um eine gemeinsame Font Objekt, ordnen Sie es jeder Zelle mit ws.cells[addr].style.font = my_font.
Wirkt sich die Gestaltung auf Zellwerte oder Formeln aus?
Styling ist rein visuelle Metadaten. cell.style.font und cell.style.fill nicht berühren .value oder .formula.
Welche Speicherformate bewahren Stile?
Die Stile werden vollständig erhalten, wenn sie auf SaveFormat.XLSX.Die . SaveFormat.CSV, SaveFormat.TSV, SaveFormat.JSON, und SaveFormat.MARKDOWN die Formate sind reine oder strukturierte Textformate und enthalten keine Styling-Informationen.
Verwandte Ressourcen:
- Aspose.Cells FOSS for Python: Developer Guide
- Tabellenvorgänge
- Wie man in Python Tabellen laden kann
- Wie man Charts in Python erstellt
- API-Referenz: Schriftart, Ausfüllung und Stil
- Produktübersicht: Zusammenfassung der Merkmale und Fähigkeiten
- Blog: Einführung von Aspose.Cells FOSS: Übersicht über die Bibliothek und schneller Start