مقدمة
العمل مع Excel ورقة التردد برمجة هو متطلب شائع في معالجة البيانات، وتقديم التقارير، وأتمتة سير العمل. الخلايا المضغوطة مكتبة Python مفتوحة المصدر تسمح لك بإنشاء وقراءة وتعديل .xlsx الكتب المكتبية دون أي إدمان على Microsoft Excel أو غيرها من أدوات المكتب.
أصدرت تحت مجوز MIT, تتوفر الخلايا المرفقة-التركيز API الغنية التي تغطي القيم الخلوية والصيغ والتصميم والرسوم البيانية والأقراص والشكلات والصور وتوجيه البيانات والملاحظات، والروابط العليا، والفلاتر الذاتية، والتنسيق المشروط. يتطلب المكتبة Python 3.7 أو أعلى ويتم تثبيتها مع واحد pip القيادة .
هذه المقالة تتجول من خلال قدرات إدارة اللوحة المقطوعة التي تجلبها تثبيت الخلايا إلى مشاريع Python الخاصة بك، مع أمثلة رمز العمل مبنية في API الحقيقي.
ما هو مدرجة
قيمة الخلايا والصيغ
وَالْمُتَّقِينَ Cell الدرجة تدعم الكتلة، والمتدفقين، والأسلاك، والصيغ.يمكنك إعداد قيمة مباشرة من خلال put_value() أو إعطاء صيغة شريط إلى formula الممتلكات - The FormulaEvaluator يمكن للطبقة تقييم الصيغ ببرمجة.
from aspose.cells_foss import Workbook, Cell
wb = Workbook()
ws = wb.worksheets[0]
# Set different value types
ws.cells["A1"] = Cell(42)
ws.cells["A2"] = Cell(3.14159)
ws.cells["A3"] = Cell("Revenue Report")
# Set a formula
ws.cells["A4"] = Cell(None, "=SUM(A1:A2)")
# Check the stored values
print(ws.cells["A1"].value) # 42
print(ws.cells["A4"].formula) # =SUM(A1:A2)
النمط والتصميم
وَالْمُتَّقِينَ Style تتوفر الفئة أساليب لملء، الحدود، تنسيقات الأرقام، والتكيف. Cell.apply_style().
from aspose.cells_foss import Workbook, Cell, Style
wb = Workbook()
ws = wb.worksheets[0]
ws.cells["A1"] = Cell("Total")
ws.cells["B1"] = Cell(25000)
style = Style()
style.set_fill_color("FFD9E1F2")
style.set_border("bottom", "thin", "FF000000", 1)
style.set_number_format("#,##0.00")
ws.cells["B1"].apply_style(style)
wb.save("styled_report.xlsx")
الرسم البياني
وَالْمُتَّقِينَ ChartCollection فئة العروض مخصصة add_line(), add_bar(), add_pie(), add_scatter(), والعديد من الطرق الأخرى لإدراج الرسوم البيانية في ورقة عمل.بمجرد إنشاء، قم بتعيين Chart عنوان الكائن، والأسطورة، وتفاصيل الفئة، والمسلسل.
from aspose.cells_foss import Workbook
wb = Workbook()
ws = wb.worksheets[0]
# Populate data
months = ["Jan", "Feb", "Mar", "Apr"]
sales = [120, 150, 180, 200]
for i, (m, s) in enumerate(zip(months, sales), 2):
ws.cells[f"A{i}"].value = m
ws.cells[f"B{i}"].value = s
ws.cells["A1"].value = "Month"
ws.cells["B1"].value = "Sales"
# Create a line chart
chart = ws.charts.add_line(0, 4, 20, 12)
chart.title = "Monthly Sales"
chart.category_data = "A2:A5"
chart.n_series.add("B2:B5", category_data="A2:A5", name="Sales")
chart.show_legend = True
wb.save("sales_chart.xlsx")
بيانات التحقق
وَالْمُتَّقِينَ DataValidation تتيح لك الفئة تنفيذ قوائم الانسحاب، ومناطق الأرقام، وقواعد التحقق المخصصة على المناطق الخلوية. type, operator, formula1, formula2, alert_style, error_title,و ، و error_message.
from aspose.cells_foss import Workbook
wb = Workbook()
ws = wb.worksheets[0]
# Add a dropdown validation
dv = ws.data_validations.add("B2:B100")
dv.type = 3 # List validation
dv.formula1 = '"Yes,No,Pending"'
dv.show_error_message = True
dv.error_title = "Invalid Entry"
dv.error_message = "Please select Yes, No, or Pending."
wb.save("validated.xlsx")
الفلاتر واللوحات
تطبيق الفلتر الذاتي مع AutoFilter الدرس عن طريق الاتصال set_range() ثم تصفية الأعمدة الفردية.للمعلومات المنظمة، فإن TableCollection.add() يخلق الطريقة لوحات ListObject مع الأنماط والفلاتر الذاتية.
from aspose.cells_foss import Workbook
wb = Workbook()
ws = wb.worksheets[0]
# Populate header + data
ws.cells["A1"].value = "Name"
ws.cells["B1"].value = "Score"
for i, (n, s) in enumerate([("Alice", 92), ("Bob", 78), ("Carol", 95)], 2):
ws.cells[f"A{i}"].value = n
ws.cells[f"B{i}"].value = s
# Apply an auto-filter
ws.auto_filter.set_range(0, 0, 3, 1)
# Or create a structured table
table = ws.tables.add(0, 0, 3, 1, True, "ScoreTable")
wb.save("filtered_data.xlsx")
حماية ورقة العمل وكتب العمل
حماية الكتب العملية مع Workbook.protect() ورقة عمل فردية مع Worksheet.protect().يدعم API الحماية الإذنات الكبيرة مثل السماح بتنسيق أو إدراج الصفوف أثناء حظر القمامة.
from aspose.cells_foss import Workbook
wb = Workbook()
ws = wb.worksheets[0]
ws.cells["A1"].value = "Protected content"
# Protect the worksheet with a password
ws.protect("secret123", format_cells=True, insert_rows=True,
delete_columns=False, delete_rows=False)
# Protect the workbook structure
wb.protect("workbook_pass", lock_structure=True, lock_windows=False)
wb.save("protected.xlsx")
بدء سريع
قم بتثبيت الحزمة من PyPI:
pip install aspose-cells-foss>=26.3.1
إنشاء دفتر عمل، وتسجيل بعض البيانات، وحفظها:
from aspose.cells_foss import Workbook, Cell, Style
# Create a new workbook
wb = Workbook()
ws = wb.worksheets[0]
ws.name = "Quarterly Report"
# Add headers with styling
header_style = Style()
header_style.set_fill_color("FF4472C4")
for col, label in enumerate(["Region", "Q1", "Q2", "Q3", "Q4"], 1):
cell_ref = f"{chr(64 + col)}1"
ws.cells[cell_ref] = Cell(label)
ws.cells[cell_ref].apply_style(header_style)
# Add data rows
data = [
("North", 12000, 15000, 13000, 16000),
("South", 9000, 11000, 10500, 12000),
("East", 14000, 13500, 15000, 17000),
]
for r, row in enumerate(data, 2):
for c, val in enumerate(row, 1):
ws.cells[f"{chr(64 + c)}{r}"].value = val
# Save as XLSX
wb.save("quarterly_report.xlsx")
# Also export to CSV
wb.save_as_csv("quarterly_report.csv")
تنسيقات مدعومة
| شكل | التمديد | قراءة | كتب |
|---|---|---|---|
| XLSX | .xlsx | نعم | نعم |
| CSV | .csv | نعم | نعم |
| TSV | .tsv | لا | نعم |
| JSON | .json | لا | نعم |
| ماركدون | .md | لا | نعم |
وَالْمُتَّقِينَ SaveFormat يحدد enum هذه تنسيقات الناتج: AUTO, XLSX, CSV, TSV, MARKDOWN,و ، و JSON.مكتبة القراءة .xlsx الملفات الأصلية ويمكن استيراد بيانات CSV من خلال Workbook.load_csv().
المصدر المفتوح و الترخيص
يتم إطلاق النار تحت مجوز MIT, التي تسمح باستخدام غير محدود في كل من المشاريع التجارية وغير التجاريا. GitHub.يعتمد المكتبة على pycryptodome (> = 3.15.0) و olefile (>= 0.46) للحصول على دعم التشفير.
بدءاً من
استكشاف الوثائق الكاملة والمواد المرجعية لبدء البناء مع الخلايا المضغوطة:
- دليل المطور: docs.aspose.org/الخلايا / python/
- قاعدة المعرفة: kb.aspose.org/الخلايا / python/
- إشارة API: reference.aspose.org/الخلايا / python/