Πώς να Στυλ Κελιών με Aspose.Cells FOSS στο Python

Πώς να Στυλ Κελιών με Aspose.Cells FOSS στο Python

Aspose.Cells FOSS for Python επιτρέπουν την εφαρμογή στυλ γραμματοσειρών και συμπληρώσεων φόντου σε μεμονωμένα κύτταρα χρησιμοποιώντας το cell.style.font και cell.style.fill ΑΙ.Οι χρωστικές εκφράσεις είναι ως 8-digit AARRGGBB hex strings;· Για παράδειγμα "FFFF0000" για το κόκκινο, χωρίς να # Όλα τα στυλ γίνονται με καθαρό Python χωρίς εξάρτηση από το Microsoft Excel ή οποιαδήποτε εξωτερική βιβλιοθήκη rendering.

Γιατί τα στυλ κύτταρα με Aspose.Cells FOSS;?

  1. Δεν απαιτείται Excel:Η μορφοποίηση λειτουργεί εντελώς στο Python σε οποιοδήποτε OS.
  2. Συνοχή χρώματος μοντέλο: Ένα ενιαίο 8 ψηφίων AARRGGBB γραμμή καλύπτει το χρώμα γράμμα και συμπληρώνει το χρωματικό με την ίδια μορφή.
  3. Διαβάσιμες ονομασίες ιδιοκτησίας: bold, italic, underline, strikethrough:• Όχι is_ Προκαταλήψεις για να θυμάσαι.
  4. Εξαιρετικά χρήσιμα αντικείμενα:Δημιουργία A Font Εφαρμόστε το μία φορά και εφαρμόζετε σε πολλά κύτταρα για συνεπή μάρκετινγκ.

Βήμα προς βήμα οδηγός

Βήμα 1: Εγκατάσταση Aspose.Cells FOSS για Python

pip install aspose-cells-foss

Δεν απαιτούνται πρόσθετα συστημικά πακέτα. εισάγετε τις τάξεις που χρειάζεστε από aspose.cells_foss:

from aspose.cells_foss import Workbook, Cell, Font, SaveFormat

Βήμα 2: Προσθέστε το όνομα και το μέγεθος του γραμματοσειρά

Η πρόσβαση σε ένα κελί μέσω ws.cells["address"] και γράφουν για cell.style.font.name και 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")

Η προεπιλεγμένη γραμματοσειρά είναι Καλιμπρί στις 11pt.Κάθε όνομα γραμματοσειράς που είναι διαθέσιμο στο σύστημα όπου θα ανοίξει το αρχείο μπορεί να χρησιμοποιηθεί. ο προσδιορισμός ενός γραμμένου που δεν έχει εγκατασταθεί δεν προκαλεί σφάλμα αλλά μπορεί επίσης να εμφανιστεί με μια επιστροφική γραφή όταν το file είναι ανοιχτό.


Βήμα 3: Ρυθμίστε το χρώμα γραμματοσειράς χρησιμοποιώντας ένα AARRGGBB Hex String

Τα χρώματα του γράμματος είναι με ένα 8-digit hexadecimal string Σε AARRGGBB Η σειρά (Αλφα, Κόκκινο, Πράσινο και Μπλε) Όχι Περιλαμβάνει ένα # Προφίλ .

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")

Η κοινή αναφορά χρώματος AARRGGBB:

ΧρώμαΑΡΓΚGBB ΣΤΡΑΤΗΣημειώσεις
ΜαύροFF000000Προεπιλεγμένο χρώμα γραμματοσειράς
ΛευκόςFFFFFFFFΧρησιμοποιήστε σε σκοτεινά υπόβαθρα
ΚόκκινοFFFF0000Ενημέρωση ή κείμενο αναφοράς
μπλεFF0000FFΣύνδεσμοι ή έμφαση
ΠράσινοFF00FF00Θετικές αξίες ή επιτυχία
ΟρφανήFFFF8000Προειδοποιητικό κείμενο
ΓκρέιFF808080Εξουσιοδοτημένο ή αναστέλλεται κείμενο
ΝαυτικόFF1E64C8Εταιρεία / Μπλε Μάρκα

Οι δύο πρώτοι αριθμοί hex είναι ο αλφα κανάλι. FF Ανεξάρτητοι: Οι τιμές κάτω από FF παράγει μισοδιαφανή αποτελέσματα σε renderers που υποστηρίζουν το μίγμα αλφα.


Βήμα 4: Εφαρμόστε το Bold, Ιταλικό, Υπογραμμένο και Σκληρό

Καθορίστε κάθε χαρακτηριστικό απευθείας ως μπολεάν. τα ονόματα των ιδιοκτησιών είναι bold, italic, underline,και strikethrough;· ΔΙ Όχι Χρησιμοποιήστε is_bold ή is_italic (Αυτά τα ονόματα δεν υπάρχουν στο FOSS API και θα αυξήσουν την 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")

Οι τέσσερις σημαίες έχουν απορρίψει την False.Μπορούν να συνδυαστούν ελεύθερα στο ίδιο κύτταρο.


Βήμα 5: Προσθέστε ένα χρωματικό γεμάτο σκληρό υπόβαθρο

Χρησιμοποιήστε cell.style.fill.set_solid_fill("AARRGGBB") Η μορφή χρώματος είναι η ίδια 8-digit AARRGGBB hex string με το χρώμα γραμματοσειράς.

Για να αφαιρέσετε ένα πλήρες, καλέστε 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() και set_no_fill() Είναι αμοιβαία αποκλειστικοί, το να καλεί κανείς ένα υπερνικώνει το άλλο στο ίδιο κύτταρο.


Βήμα 6: Συνδυάστε πολλαπλούς στυλ σε ένα κελί

Μπορείτε να αλυσίδα οποιαδήποτε αριθμό ιδιότητες στυλ στο ίδιο κελί αναφορά. δεν υπάρχει όριο για το πόσα χαρακτηριστικά στύλ είναι ρυθμισμένο πριν από την εξοικονόμηση.

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.")

Αυτό παράγει ένα λευκό, θάρρος, 16pt Arial ετικέτα σε ένα ναυτικό υπόβαθρο, ένα κοινό πρότυπο για τους επικεφαλής των στήλων.


Βήμα 7: Χρησιμοποιήστε το Σημείο Κατασκευαστή για επαναχρησιμοποίητα στυλ

Η Font Η τάξη μπορεί να είναι έγκαιρη με όλες τις ιδιότητές της σε μια κλήση, στη συνέχεια ανατίθεται σε πολλαπλές κυττάρες. Αυτό είναι χρήσιμο όταν θέλετε ένα συνεκτικό στυλ του σπιτιού που εφαρμόζεται σε πολλά κύτταρα χωρίς την επανάληψη των ίδιων ιδιοκτησιακών αποστολών.

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.")

Σημειώσεις κατασκευαστή προεπιλεγμένων τιμών (Όλες οι παραμέτρους είναι προαιρετικές):

ΠαραμέτρωνΥπολογισμοί
name"Calibri"
size11
color"FF000000"
boldFalse
italicFalse
underlineFalse
strikethroughFalse

ΕΠΙΛΗΜΑΤΙΚΟ ΔΡΑΣΤΗΡΙΟ ΠΡΟΒΛΕΜΟ

Το ακόλουθο αυτόνομο σενάριο δημιουργεί ένα βιβλίο εργασίας με μια τυποποιημένη γραμμή επικεφαλής, χρωματιστές γραμμές δεδομένων και μια συνοπτική κελίδα που δείχνει κάθε API τύπου που καλύπτεται παραπάνω:

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.")

κοινά ζητήματα

Λάθος χρώμα: χρησιμοποιώντας το #RRGGBB Αντί να AARRGGBB

Ο ηγέτης # (ΓΕΝΙΚΑ ΣΤΗΝ Ε.Σ. "#FF0000") ή μια γραμμή RGB 6 ψηφίων δεν θα παράγει το αναμενόμενο χρώμα. 8 hex digits with no prefix: "FFFF0000".Οι δύο πρώτοι αριθμοί είναι ο αλφα κανάλι. χρησιμοποιήστε FF Για απόλυτα αόρατη.

AttributeError: 'Font' object has no attribute 'is_bold'

Η API χρησιμοποιεί bold, italic, underline,και strikethrough Τα ονόματα των ιδιοκτησιών.Τα is_bold / is_italic Η σύμβαση ονομάζεται ανήκει σε μια διαφορετική βιβλιοθήκη και δεν υπάρχει εδώ. αντικαταστήστε οποιαδήποτε is_bold Αναφορά με bold.

Αλλαγές στο στυλ δεν είναι ορατές μετά την εξοικονόμηση

Βεβαιωθείτε ότι έχετε ρυθμίσει ιδιότητες στυλ στο αντικείμενο κυττάρων Πρώτα Καλέστε workbook.save().Το να τοποθετήσετε μια ιδιοκτησία σε ένα κελί μετά την κάλεση αποθήκευσης δεν έχει καμία επίδραση στο αρχείο που ήδη γράφτηκε. cell Αλλαγή, επιβεβαιώνει ότι εξακολουθεί να αναφέρεται στη σωστή διεύθυνση κυττάρου.

Συμπληρώστε και γράψτε στο ίδιο σύγκρουση κυττάρων οπτικά

Δεν υπάρχει σύγκρουση API, μπορείτε πάντα να ρυθμίσετε και τα δύο. cell.style.font.color και cell.style.fill.set_solid_fill() Το χρώμα του κειμένου είναι αρκετά αντίθετο με το χρώματα της πλάτης. (FFFFFFFF(από την άλλη πλευρά, σε ένα σκάφος όπως το πλοίο)FF1E64C8Είναι ένας αξιόπιστος συνδυασμός.


Συχνές ερωτήσεις

Πώς μπορώ να αφαιρέσω ένα πλήρωμα υπόβαθρου και να επιστρέψω μια κελία σε μη πλήρωση;?

Κλήση cell.style.fill.set_no_fill().Αυτό αφαιρεί οποιοδήποτε προηγουμένως καθορισμένο στερεό φορτίο από το κύτταρο.

Πώς μπορώ να επαναφέρω μια κελία στο προεπιλεγμένο γράμμα (Calibri 11pt μαύρο);?

Ανακαλύψτε εκ νέου τις προεπιλεγμένες τιμές ρητά:

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

Εναλλακτικά, δημιουργήστε ένα Font() Δεν υπάρχει καμία παράπονο (όλες οι παρατυπίες) και αναθέτει: cell.style.font = Font().

Μπορώ να εφαρμόσω το ίδιο στυλ γραμματοσειράς σε μια σειρά κυττάρων σε ένα κύκλο;?

Ναι. Εισάγετε τις διευθύνσεις των κυττάρων και τοποθετήστε τις ίδιες ιδιότητες σε κάθε μία. Font Ο κατασκευαστής δημιουργεί ένα κοινό Font Το αντικείμενο, το αποδίδει σε κάθε κύτταρο με ws.cells[addr].style.font = my_font.

Το στυλ επηρεάζει τις τιμές ή τις φόρμουλες των κυττάρων;?

Το Styling είναι καθαρά οπτικά μεταδεδομένα. cell.style.font και cell.style.fill Μην αγγίζετε .value ή .formula.

Ποια μορφή αποθηκεύει τα στυλ;?

Τα στυλ διατηρούνται πλήρως όταν εξοικονομήσουν SaveFormat.XLSXSaveFormat.CSV, SaveFormat.TSV, SaveFormat.JSON,και SaveFormat.MARKDOWN Οι μορφές είναι πλαστές ή δομημένες μορφότυποι κειμένου και δεν φέρουν πληροφορίες στυλ.


Σχετικά με τους πόρους:

 Ελληνικά