كيفية تصميم الخلايا مع 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؟?
- لا حاجة إلى Excel: تشكيل يعمل بالكامل في Python على أي نظام التشغيل.
- نموذج اللون المتسق: يغطي شريط AARRGGBB أحادي رقم 8 لون الخط ويملأ اللون بنفس الشكل.
- أسماء الممتلكات القراءة:
bold,italic,underline,strikethrough: لاis_أولاً: المبادئ التي تذكرها. - كلمات مفتاحية 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" |
size | 11 |
color | "FF000000" |
bold | False |
italic | False |
underline | False |
strikethrough | False |
نموذج عمل كامل
يخلق السيناريو الذاتي التالي كتاب عمل مع صفوف العناوين المنسدلة، صفات البيانات الملونة، وخلية ملخصة تظهر كل 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 تنسيقات هي تنسخات النص المسطح أو المنظمة ولا تحمل معلومات التصميم.
الموارد ذات الصلة :
- Aspose.Cells FOSS for Python: Developer Guide
- عمليات الشاشة
- كيفية تحميل اللوحات في Python
- كيفية إنشاء الرسوم البيانية في Python
- API Reference: الخط، ملء، النمط
- نظرة عامة على المنتج: خصائص و قدرات ملخص
- مدونة: إدخال Aspose.Cells FOSS: نظرة عامة على المكتبة والبدء السريع