Kuinka muotoilla soluja Aspose.Cells FOSS:lla Python:ssa
Aspose.Cells FOSS for Python antaa sinun soveltaa fonttityylejä ja taustatäytteitä yksittäisiin soluihin käyttäen cell.style.font ja cell.style.fill API-rajapintoja. Värit ilmaistaan 8-digit AARRGGBB hex strings; esimerkiksi "FFFF0000" läpinäkymättömän punaisen väriksi, ilman # etuliitettä. Kaikki tyylittely tehdään puhtaassa Python:ssa ilman riippuvuutta Microsoft Excelistä tai mistään ulkoisesta renderöintikirjastosta.
Miksi muotoilla soluja Aspose.Cells FOSS:lla?
- Exceliä ei tarvita: Muotoilu suoritetaan kokonaan Python:ssa millä tahansa käyttöjärjestelmällä.
- Johdonmukainen värimalli: Yksi 8-numeroista AARRGGBB-merkkijono kattaa fontin värin ja täytön värin samalla formaatilla.
- Luettavat ominaisuuden nimet:
bold,italic,underline,strikethrough: eiis_etuliitettä muistaa. - Uudelleenkäytettävät Font-objektit: Luo
Fontinstanssi kerran ja sovella sitä moniin soluihin johdonmukaisen brändäyksen saavuttamiseksi.
Vaiheittainen opas
Vaihe 1: Asenna Aspose.Cells FOSS Python:lle
pip install aspose-cells-fossLisäisiä järjestelmäpaketteja ei tarvita. Tuo tarvitsemasi luokat kohteesta aspose.cells_foss:
from aspose.cells_foss import Workbook, Cell, Font, SaveFormatVaihe 2: Aseta fontin nimi ja koko
Käytä solua kautta ws.cells["address"] ja kirjoita kohteeseen cell.style.font.name ja 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")Oletusfontti on Calibri 11 pt. Kaikkia järjestelmässä, jossa tiedosto avataan, käytettävissä olevia fonttien nimiä voidaan käyttää; fontin määrittäminen, jota ei ole asennettu, ei aiheuta virhettä, mutta tiedostoa avattaessa se voidaan näyttää varafontilla.
Vaihe 3: Aseta fontin väri AARRGGBB‑heksamerkillä
Fontin värit asetetaan 8-digit hexadecimal string järjestyksessä AARRGGBB (Alpha, Red, Green, Blue). Tee ei sisällytä # etuliite.
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")Yleinen AARRGGBB‑väriviite:
| Väri | AARRGGBB-merkkijono | Huomautukset |
|---|---|---|
| Musta | FF000000 | Oletusfontin väri |
| Valkoinen | FFFFFFFF | Käytä tummilla taustoilla |
| Punainen | FFFF0000 | Hälytä tai korosta teksti |
| Sininen | FF0000FF | Linkit tai korostus |
| Vihreä | FF00FF00 | Positiiviset arvot tai onnistuminen |
| Oranssi | FFFF8000 | Varoitusteksti |
| Harmaa | FF808080 | Hillitty tai poissa käytöstä oleva teksti |
| Laivastonsininen | FF1E64C8 | Yrityksen / brändin sininen |
Ensimmäiset kaksi heksadesimaalista merkkiä ovat alfakanava. Käytä FF täysin läpinäkymättömään. Arvot alle FF tuottavat puoliläpinäkyviä tuloksia renderöijissä, jotka tukevat alfasekoitusta.
Vaihe 4: Lisää lihavointi, kursiivi, alleviivaus ja yliviivaus
Aseta jokainen attribuutti suoraan booleanina. Ominaisuuksien nimet ovat bold, italic, underline, ja strikethrough; tee ei käytä is_bold tai is_italic (noiden nimien ei ole FOSS API:ssa, ja ne nostavat 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")Kaikki neljä lippua oletusarvoisesti ovat False. Ne voidaan yhdistää vapaasti samassa solussa.
Vaihe 5: Aseta kiinteä taustaväri
Käytä cell.style.fill.set_solid_fill("AARRGGBB") taustatäytön soveltamiseksi. Värimuoto on sama 8‑numeroinen AARRGGBB‑heksadesimaalijono kuin fontin väri.
Poista täyttö kokonaan kutsumalla 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() ja set_no_fill() ovat keskenään poissulkevia; toisen kutsuminen korvaa toisen samassa solussa.
Vaihe 6: Yhdistä useita tyylejä yhteen soluun
Voit ketjuttaa minkä tahansa määrän tyyliominaisuuksia samassa solureferenssissä. Ei ole rajoitusta sille, kuinka monta tyyliattribuuttia voidaan asettaa ennen tallentamista.
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.")Tämä tuottaa valkoisen, lihavoidun, 16pt Arial -otsikon tummansinisellä taustalla, mikä on yleinen malli sarakeotsikoille.
Vaihe 7: Käytä Font-konstruktoria uudelleenkäytettävissä tyyleissä
Se Font Luokka voidaan instansioida kaikilla sen ominaisuuksilla yhdellä kutsulla, ja sitten sijoittaa useisiin soluihin. Tämä on hyödyllistä, kun haluat yhdenmukaisen talon tyylin sovellettavan moniin soluihin toistamatta samoja ominaisuuksien asetteluja.
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.")Fontin konstruktorin oletusarvot (kaikki parametrit ovat valinnaisia):
| Parametri | Oletus |
|---|---|
name | "Calibri" |
size | 11 |
color | "FF000000" |
bold | False |
italic | False |
underline | False |
strikethrough | False |
Täydellinen toimiva esimerkki
Seuraava itsenäinen skripti luo työkirjan, jossa on tyylitelty otsikkorivi, värilliset datarivit ja yhteenvetosolu, joka havainnollistaa yllä käsiteltyjä kaikkiin tyylien API:ita:
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.")Yleisiä ongelmia
Väärä värimuoto: käyttäen #RRGGBB sen sijaan AARRGGBB
Johtava # (esim. "#FF0000") tai 6‑merkkinen RGB-merkkijono ei tuota odotettua väriä. Ominaisuus odottaa tarkalleen 8 hex digits with no prefix: "FFFF0000". Ensimmäiset kaksi numeroa ovat alfakanava; käytä FF täysin läpinäkymättömälle.
AttributeError: 'Font' object has no attribute 'is_bold'
FOSS API käyttää bold, italic, underline, ja strikethrough ominaisuuksien nimiä. Tämä is_bold / is_italic nimikäytäntö kuuluu toiseen kirjastoon eikä ole olemassa täällä. Korvaa kaikki is_bold viite bold.
Tyylimuutokset eivät näy tallennuksen jälkeen
Varmista, että asetat tyyliominaisuudet solun objektissa ennen kutsumista workbook.save(). Ominaisuuden asettaminen soluun tallennuskutsun jälkeen ei vaikuta jo kirjoitettuun tiedostoon. Jos käytät uudelleen cell muuttujaa, varmista että se edelleen viittaa oikeaan solun osoitteeseen.
Täyttö ja fontti samassa solussa aiheuttavat visuaalisen ristiriidan
API-ristiriitaa ei ole; voit aina asettaa molemmat cell.style.font.color ja cell.style.fill.set_solid_fill() itsenäisesti. Varmista, että tekstin väri on riittävän kontrastissa taustaväriä vastaan. Valkoinen teksti (FFFFFFFF) tummalla täytöllä, kuten laivastonsininen (FF1E64C8) on luotettava yhdistelmä.
Usein kysytyt kysymykset
Kuinka poistan taustatäytön ja palautan solun ilman täytettä?
Kutsu cell.style.fill.set_no_fill(). Tämä poistaa kaikki aiemmin asetetut kiinteät täytöt solusta.
Kuinka palautan solun oletusfonttiin (Calibri 11pt musta)?
Määritä oletusarvot uudelleen eksplisiittisesti:
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 = FalseVaihtoehtoisesti, luo Font() instanssi ilman argumentteja (kaikki oletusasetukset) ja määritä se: cell.style.font = Font().
Voinko käyttää samaa fonttityyliä soluväliin silmukassa?
Kyllä. Käy solujen osoitteet läpi ja aseta samat ominaisuudet jokaiselle. Jos käytät Font konstruktoria luodaksesi jaetun Font objektin, määritä se jokaiselle solulle käyttäen ws.cells[addr].style.font = my_font.
Vaikuttaako tyylittely soluarvoihin tai kaavoihin?
Ei. Tyylittely on puhtaasti visuaalinen metadata. cell.style.font ja cell.style.fill älä kosketa .value tai .formula.
Mitkä tallennusmuodot säilyttävät tyylit?
Tyylit säilyvät täysin tallennettaessa kohteeseen SaveFormat.XLSX. Tämä SaveFormat.CSV, SaveFormat.TSV, SaveFormat.JSON, ja SaveFormat.MARKDOWN formatit ovat pelkkä teksti- tai rakenteinen teksti -formaatteja, eikä ne sisällä tyylitietoja.
Aiheeseen liittyvät resurssit:
- Aspose.Cells FOSS for Python: Developer Guide
- Taulukkolaskennan toiminnot
- Kuinka ladata taulukkolaskentatiedostoja Python:ssa
- Kuinka luoda kaavioita Python:ssa
- API-viite: Font, Fill, Style
- Tuotteen yleiskatsaus: Ominaisuuksien ja kyvykkyyksien yhteenveto
- Blogi: Esittelyssä Aspose.Cells FOSS: Kirjaston yleiskatsaus ja pika-aloitus