Aspose.Cells FOSS ile Python içinde Hücreleri Nasıl Stilize Edilir
Aspose.Cells FOSS for Python bireysel hücrelere yazı tipi stilleri ve arka plan doldurmaları uygulamanıza, … kullanarak olanak tanır cell.style.font ve cell.style.fill API’ler. Renkler şu şekilde ifade edilir 8-digit AARRGGBB hex strings; örneğin "FFFF0000" opak kırmızı için, ön ek olmadan # önek. Tüm stil oluşturma, Microsoft Excel’e veya herhangi bir dış render kütüphanesine bağımlı olmadan saf Python içinde yapılır.
Neden Aspose.Cells FOSS ile Hücreleri Stilize Etmeliyiz?
- Excel gerekmez: Biçimlendirme, herhangi bir işletim sisteminde tamamen Python içinde çalışır.
- Tutarlı renk modeli: Tek bir 8 haneli AARRGGBB dizesi, aynı formatta yazı tipi rengi ve dolgu rengini kapsar.
- Okunabilir özellik adları:
bold,italic,underline,strikethrough: hayıris_hatırlanacak önek. - Yeniden kullanılabilir Font nesneleri: Bir oluştur
Fontörnek bir kez oluşturun ve tutarlı marka kimliği için birçok hücreye uygulayın.
Adım Adım Kılavuz
Adım 1: Aspose.Cells FOSS’i Python için kurun
pip install aspose-cells-fossEk sistem paketleri gerekmez. İhtiyacınız olan sınıfları şuradan içe aktarın aspose.cells_foss:
from aspose.cells_foss import Workbook, Cell, Font, SaveFormatAdım 2: Yazı Tipi Adı ve Boyutunu Ayarlayın
Bir hücreye şuradan erişin ws.cells["address"] ve şuraya yazın cell.style.font.name ve 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")Varsayılan yazı tipi Calibri 11pt. Dosyanın açılacağı sistemde mevcut olan herhangi bir yazı tipi adı kullanılabilir; yüklü olmayan bir yazı tipi belirtilmesi hata oluşturmaz ancak dosya açıldığında yedek bir yazı tipiyle görüntülenebilir.
Adım 3: AARRGGBB Hex Dizesi Kullanarak Yazı Tipi Rengini Ayarlayın
Yazı tipi renkleri bir 8-digit hexadecimal string içinde AARRGGBB sırayla (Alfa, Kırmızı, Yeşil, Mavi). Yap ma ekle # bir ön ek.
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")Yaygın AARRGGBB renk referansı:
| Renk | AARRGGBB dizesi | Notlar |
|---|---|---|
| Siyah | FF000000 | Varsayılan yazı tipi rengi |
| Beyaz | FFFFFFFF | Karanlık arka planlarda kullanın |
| Kırmızı | FFFF0000 | Uyarı veya vurgulama metni |
| Mavi | FF0000FF | Bağlantılar veya vurgulama |
| Yeşil | FF00FF00 | Pozitif değerler veya başarı |
| Turuncu | FFFF8000 | Uyarı metni |
| Gri | FF808080 | Sönük veya devre dışı bırakılmış metin |
| Lacivert | FF1E64C8 | Kurumsal / marka mavisi |
İlk iki onaltılık basamak alfa kanalını temsil eder. Kullan FF tamamen opak için. Aşağıdaki değerler FF alfa karıştırmayı destekleyen render’larda yarı saydam sonuçlar üretir.
Adım 4: Kalın, İtalik, Altı Çizili ve Üstü Çizili Uygula
Her özelliği doğrudan bir boolean olarak ayarlayın. Özellik adları şunlardır bold, italic, underline, ve strikethrough; yap değil kullan is_bold veya is_italic (bu adlar FOSS API’sinde mevcut değil ve hata oluşturacak 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")Dört bayrağın tümü varsayılan olarak False. Aynı hücrede serbestçe birleştirilebilirler.
Adım 5: Katı Arka Plan Dolgu Rengi Ayarla
Kullan cell.style.fill.set_solid_fill("AARRGGBB") arka plan doldurması uygulamak için. Renk formatı, yazı tipi rengiyle aynı 8 haneli AARRGGBB onaltılık dizedir.
Bir doldurmayı tamamen kaldırmak için, şu çağrıyı yapın 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() ve set_no_fill() birbirini dışlar; birini çağırmak aynı hücrede diğerini geçersiz kılar.
Adım 6: Tek Bir Hücrede Birden Çok Stili Birleştir
Aynı hücre referansında istediğiniz sayıda stil özelliğini zincirleyebilirsiniz. Kaydetmeden önce ayarlanan stil özniteliklerinin sayısına bir sınırlama yoktur.
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.")Bu, lacivert bir arka plan üzerinde beyaz, kalın, 16pt Arial etiket oluşturur; sütun başlıkları için yaygın bir desendir.
Adım 7: Yeniden Kullanılabilir Stiller İçin Font Yapılandırıcısını Kullan
Bu Font sınıfı, tüm özellikleri tek bir çağrıyla örnekleyebilir ve ardından birden fazla hücreye atayabilirsiniz. Bu, aynı özellik atamalarını tekrarlamadan birçok hücreye tutarlı bir ev stili uygulamak istediğinizde kullanışlıdır.
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.")Yazı tipi yapıcı varsayılan değerleri (tüm parametreler isteğe bağlıdır):
| Parametre | Varsayılan |
|---|---|
name | "Calibri" |
size | 11 |
color | "FF000000" |
bold | False |
italic | False |
underline | False |
strikethrough | False |
Tam Çalışan Örnek
Aşağıdaki bağımsız script, stil verilmiş bir başlık satırı, renkli veri satırları ve yukarıda ele alınan tüm stil API’lerini gösteren bir özet hücresi içeren bir çalışma kitabı oluşturur:
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.")Yaygın Sorunlar
Yanlış renk formatı: kullanılan #RRGGBB yerine AARRGGBB
Başta bir # (örneğin. "#FF0000") ya da 6 haneli bir RGB dizesi beklenen rengi üretmez. Özellik tam olarak 8 hex digits with no prefix: "FFFF0000". İlk iki basamak alfa kanalıdır; kullan FF for tamamen opak için.
AttributeError: 'Font' object has no attribute 'is_bold'
FOSS API’si kullanır bold, italic, underline, ve strikethrough özellik adları olarak. Bu is_bold / is_italic adlandırma kuralı farklı bir kütüphaneye aittir ve burada mevcut değildir. Herhangi birini değiştirin is_bold referansla bold.
Stil değişiklikleri kaydettikten sonra görünmüyor
Stil özelliklerini hücre nesnesine ayarladığınızdan emin olun önce çağırma workbook.save(). Bir hücrede bir özelliği kaydetme çağrısından sonra ayarlamak, zaten yazılmış dosya üzerinde etkili değildir. Bir değişkeni yeniden kullanırsanız cell değişkenin, hâlâ doğru hücre adresine işaret ettiğini doğrulayın.
Dolgu ve yazı tipi aynı hücrede görsel olarak çakışıyor
API çakışması yoktur; her zaman ikisini de ayarlayabilirsiniz cell.style.font.color ve cell.style.fill.set_solid_fill() bağımsız olarak. Metin renginin arka plan rengine karşı yeterli kontrast sağladığından emin olun. Beyaz metin (FFFFFFFF) koyu bir dolgu üzerinde, örneğin lacivert (FF1E64C8) güvenilir bir kombinasyondur.
Sık Sorulan Sorular
Bir arka plan dolgusunu nasıl kaldırırım ve hücreyi dolgu olmadan geri getiririm?
Çağır cell.style.fill.set_no_fill(). Bu, hücrede daha önce ayarlanmış katı dolguyu kaldırır.
Bir hücreyi varsayılan yazı tipine (Calibri 11pt siyah) nasıl sıfırlarım?
Varsayılan değerleri açıkça yeniden atayın:
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 = FalseAlternatif olarak, bir Font() argüman almayan bir örnek (tüm varsayılanlar) oluşturun ve atayın: cell.style.font = Font().
Aynı yazı tipi stilini bir döngü içinde hücre aralığına uygulayabilir miyim?
Evet. Hücre adresleri üzerinde yineleme yapın ve her birine aynı özellikleri ayarlayın. Eğer Font yapıcıyı kullanarak paylaşılan bir Font nesne oluşturursanız, her hücreye şu şekilde atayın: ws.cells[addr].style.font = my_font.
Stil, hücre değerlerini veya formüllerini etkiler mi?
Hayır. Stil, yalnızca görsel meta veridir. cell.style.font ve cell.style.fill dokunma .value veya .formula.
Hangi kaydetme formatları stilleri korur?
Stiller, kaydedilirken tamamen korunur SaveFormat.XLSX. Bu SaveFormat.CSV, SaveFormat.TSV, SaveFormat.JSON, ve SaveFormat.MARKDOWN formatlar, düz metin veya yapılandırılmış metin formatlarıdır ve stil bilgisi taşımaz.
İlgili Kaynaklar:
- Aspose.Cells FOSS for Python: Developer Guide
- Elektronik Tablo İşlemleri
- Python içinde Elektronik Tabloları Yükleme
- Python içinde Grafik Oluşturma
- API Referansı: Font, Fill, Style
- Ürün Genel Bakışı: Özellikler ve yeteneklerin özeti
- Blog: Aspose.Cells FOSS Tanıtımı: Kütüphane genel bakışı ve hızlı başlangıç