كيفية تصميم الخلايا مع 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 أو أي مكتبة عرض خارجية.

لماذا الخلايا النمطية مع Aspose.Cells FOSS؟?

  1. لا حاجة إلى Excel: تشكيل يعمل بالكامل في Python على أي نظام التشغيل.
  2. نموذج اللون المتسق: يغطي شريط AARRGGBB أحادي رقم 8 لون الخط ويملأ اللون بنفس الشكل.
  3. أسماء الممتلكات القراءة: bold, italic, underline, strikethrough: لا is_ أولاً: المبادئ التي تذكرها.
  4. كلمات مفتاحية Objects:* إنشاء 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.يمكن استخدام أي اسم الخط المتوفر على النظام حيث سيتم فتح الملف؛ وتحديد الخط الذي لا يتم تثبيته لا يسبب خطأ ولكن قد يتعادل مع الخط السقوط عند فتح المخط.


الخطوة 3: إعداد لون الخط باستخدام شريط AARRGGBB Hex

يتم وضع الألوان مع واحد 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:

اللونAARRGGBB سلكملاحظات
أسودFF000000لون الخط الافتراضي
الأبيضFFFFFFFFاستخدامها على خلفيات مظلمة
الأحمرFFFF0000نص تحذير أو نص تبرز
الزرقاءFF0000FFالارتباط أو التركيز
الخضراءFF00FF00القيم الإيجابية أو النجاح
البرتقالFFFF8000نص تحذير
غرايFF808080نص مرفوع أو محظور
البحريةFF1E64C8شركة / بلاغ

أول اثنين من الرقم الهيكس هو قناة الألفا. FF أدناه قيمة لا تظهر. FF إنتاج نتائج شبه شفافية في الرافعات التي تدعم خلط الألفا.


الخطوة 4: تطبيق القوي، الإيطالي، تحت خط، ومتسارعة

إعداد كل صفة مباشرة كبويلان. أسماء الممتلكات هي bold, italic, underline,و ، و strikethrough;· إلـى لا استخدام is_bold أو is_italic (هذه الأسماء لا توجد على API FOSS وستزيد من 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 أريال على خلفية بحرية، نموذج شائع لقبعات الأعمدة.


الخطوة 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 لن تنتج اللون المتوقع. 8 hex digits with no prefix: "FFFF0000".أول اثنين من الأرقام هي قناة ألفا؛ استخدام FF من غير المباشر تماما.

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

فوركس أوبي يستخدم 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.

هل يؤثر التصميم على القيم الخلوية أو الصيغ؟?

لا، النمط هو بيانات مرئية بحتة. cell.style.font و cell.style.fill لا تلمس .value أو .formula.

ما الذي يحفظ النماذج الحفاظ على الأنماط؟?

يتم الحفاظ على النمط الكامل عند توفير SaveFormat.XLSX.- من SaveFormat.CSV, SaveFormat.TSV, SaveFormat.JSON,و ، و SaveFormat.MARKDOWN تنسيقات هي تنسخات النص المسطح أو المنظمة ولا تحمل معلومات التصميم.


الموارد ذات الصلة :

 العربية