Aspose.Cells FOSS के साथ Python में सेल्स को स्टाइल कैसे करें

Aspose.Cells FOSS के साथ Python में सेल्स को स्टाइल कैसे करें

Aspose.Cells FOSS for Python आपको व्यक्तिगत कोशिकाओं पर फ़ॉन्ट शैलियों और पृष्ठभूमि भराव को लागू करने की अनुमति देता है, उपयोग करके cell.style.font और cell.style.fill APIs. रंगों को व्यक्त किया जाता है 8-digit AARRGGBB hex strings; उदाहरण के लिए "FFFF0000" अपारदर्शी लाल के लिए, बिना # प्रिफिक्स। सभी शैलीकरण शुद्ध Python में किया जाता है, Microsoft Excel या किसी बाहरी रेंडरिंग लाइब्रेरी पर कोई निर्भरता नहीं है।.

क्यों Aspose.Cells FOSS के साथ सेल्स को स्टाइल करना चाहिए?

  1. Excel की आवश्यकता नहीं: फ़ॉर्मेटिंग पूरी तरह से Python में किसी भी OS पर चलती है।.
  2. सुसंगत रंग मॉडल: एकल 8-अंकीय AARRGGBB स्ट्रिंग फ़ॉन्ट रंग और भराव रंग को समान प्रारूप में कवर करती है।.
  3. पढ़ने योग्य प्रॉपर्टी नाम: bold, italic, underline, strikethrough: नहीं is_ याद रखने के लिए उपसर्ग।.
  4. पुन: उपयोग योग्य फ़ॉन्ट ऑब्जेक्ट्स: एक बनाएं Font इंस्टेंस को एक बार बनाएं और इसे कई सेल्स पर लागू करें ताकि सुसंगत ब्रांडिंग हो।.

स्टेप बाय स्टेप गाइड

चरण 1: Aspose.Cells FOSS for 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")

डिफ़ॉल्ट फ़ॉन्ट है Calibri 11pt पर. फ़ाइल को खोलने वाले सिस्टम पर उपलब्ध कोई भी फ़ॉन्ट नाम उपयोग किया जा सकता है; ऐसा फ़ॉन्ट निर्दिष्ट करना जो स्थापित नहीं है, त्रुटि नहीं देता लेकिन फ़ाइल खोलते समय फ़ॉलबैक फ़ॉन्ट के साथ रेंडर हो सकता है।.


चरण 3: AARRGGBB हेक्स स्ट्रिंग का उपयोग करके फ़ॉन्ट रंग सेट करें

फ़ॉन्ट रंग एक के साथ सेट किए जाते हैं। 8-digit hexadecimal string में AARRGGBB क्रम (Alpha, Red, Green, Blue). करें नहीं एक शामिल करें # उपसर्ग।.

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 रंग संदर्भ:

रंगAARRGGBB स्ट्रिंगनोट्स
कालाFF000000डिफ़ॉल्ट फ़ॉन्ट रंग
सफ़ेदFFFFFFFFगहरे पृष्ठभूमि पर उपयोग करें
लालFFFF0000अलर्ट या हाइलाइट किया गया पाठ
नीलाFF0000FFलिंक या ज़ोर
हराFF00FF00सकारात्मक मान या सफलता
नारंगीFFFF8000चेतावनी पाठ
धूसरFF808080मंद या निष्क्रिय पाठ
गहरा नीलाFF1E64C8कॉरपोरेट / ब्रांड नीला

पहले दो हेक्स अंक अल्फा चैनल होते हैं। उपयोग करें FF पूर्णतः अपारदर्शी के लिए। नीचे के मान FF ऐसे रेंडरर्स में अर्द्ध-पारदर्शी परिणाम उत्पन्न करते हैं जो अल्फा ब्लेंडिंग का समर्थन करते हैं।.


चरण 4: बोल्ड, इटैलिक, अंडरलाइन, और स्ट्राइकथ्रू लागू करें

प्रत्येक एट्रिब्यूट को सीधे बूलियन के रूप में सेट करें। प्रॉपर्टी नाम हैं 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-अंकीय AARRGGBB हेक्स स्ट्रिंग है जैसा कि फ़ॉन्ट रंग में होता है।.

भराव को पूरी तरह हटाने के लिए, कॉल करें 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") या 6-अंकीय RGB स्ट्रिंग अपेक्षित रंग नहीं देगी। प्रॉपर्टी ठीक‑ठीक अपेक्षा करती है 8 hex digits with no prefix: "FFFF0000". पहले दो अंक अल्फा चैनल होते हैं; उपयोग करें FF पूर्णतः अपारदर्शी के लिए।.

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

FOSS API का उपयोग करता है bold, italic, underline, और strikethrough को प्रॉपर्टी नामों के रूप में। यह is_bold / is_italic नामकरण सम्मेलन एक अलग लाइब्रेरी से संबंधित है और यहाँ मौजूद नहीं है। किसी भी is_bold संदर्भ को bold.

Style changes not visible after saving

सुनिश्चित करें कि आप सेल ऑब्जेक्ट पर स्टाइल प्रॉपर्टी सेट करें पहले कॉल करना workbook.save(). सहेजने के कॉल के बाद किसी सेल पर प्रॉपर्टी सेट करने से पहले लिखी गई फ़ाइल पर कोई प्रभाव नहीं पड़ता। यदि आप एक cell चर, पुष्टि करें कि यह अभी भी सही सेल पते को संदर्भित करता है।.

Fill and font on the same cell conflict visually

कोई API टकराव नहीं है; आप हमेशा दोनों सेट कर सकते हैं cell.style.font.color और cell.style.fill.set_solid_fill() स्वतंत्र रूप से। सुनिश्चित करें कि टेक्स्ट रंग पृष्ठभूमि रंग के खिलाफ पर्याप्त कंट्रास्ट रखता है। सफ़ेद टेक्स्ट (FFFFFFFF) एक गहरे भराव जैसे नेवी (FF1E64C8) एक विश्वसनीय संयोजन है।.


अक्सर पूछे जाने वाले प्रश्न

How do I remove a background fill and return a cell to no fill?

कॉल cell.style.fill.set_no_fill(). यह सेल से पहले सेट किए गए किसी भी ठोस भराव को हटा देता है।.

How do I reset a cell to the default font (Calibri 11pt black)?

Re-assign the default values explicitly:

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() कोई तर्क (सभी डिफ़ॉल्ट) के बिना instance बनाएं और इसे असाइन करें: cell.style.font = Font().

Can I apply the same font style to a range of cells in a loop?

हाँ। सेल पतों पर इटररेट करें और प्रत्येक पर समान प्रॉपर्टीज़ सेट करें। यदि आप उपयोग करते हैं Font कंस्ट्रक्टर का उपयोग करके एक साझा Font ऑब्जेक्ट, इसे प्रत्येक सेल को असाइन करें ws.cells[addr].style.font = my_font.

Does styling affect cell values or formulas?

नहीं। स्टाइलिंग केवल दृश्य मेटाडेटा है।. cell.style.font और cell.style.fill छूने की ज़रूरत नहीं .value या .formula.

कौन से सहेजने के फ़ॉर्मेट स्टाइल को बनाए रखते हैं?

स्टाइल्स को सहेजते समय पूरी तरह संरक्षित किया जाता है SaveFormat.XLSX. यह SaveFormat.CSV, SaveFormat.TSV, SaveFormat.JSON, और SaveFormat.MARKDOWN formats plain-text या structured-text formats हैं और styling information नहीं ले जाते।.


संबंधित संसाधन:

 हिन्दी