Einführung

Die programmatische Arbeit mit Excel-Tabellen ist eine häufige Anforderung bei Datenverarbeitung, Berichterstattung und Automatisierungsworkflows. Asposen-Zellen-Foss ist eine Open-Source Python Bibliothek, die Sie erstellen, lesen und ändern können. .xlsx Arbeitsmappen, die nicht von Microsoft Excel oder anderen Office-Suiten abhängig sind.

Im Rahmen der MIT-Lizenz, aspose-cells-foss bietet eine reiche API Oberfläche, die Zellwerte, Formeln, Styling, Diagramme, Tabellen, Figuren, Bilder, Datenvalidierung, Kommentare, Hyperlinks, automatische Filter und bedingte Formatierung abdeckt. Die Bibliothek erfordert Python 3.7 oder höher und installiert mit einem einzigen Schnittwerk. pip Kommando.

Dieser Beitrag führt Sie durch die Tabellenverwaltungsfunktionen, die aspose-cells-foss zu Ihren Python-Projekten bringt. Mit Arbeitscodebeispielen basierend auf der tatsächlichen API.


Was ist darin enthalten?

Zellwerte und Formeln

Die Cell Die Klasse unterstützt ganze Zahlen, Schwimmer, Strings und Formeln. Sie können einen Wert direkt durch die put_value() oder eine Formel-Zeichenfolge der formula Das Eigentum. FormulaEvaluator Die Klasse kann Formeln programmatisch auswerten.

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)

Styling und Formatierung

Die Style Die Klasse bietet Methoden für Füllungen, Grenzen, Zahlenformate und Ausrichtung. 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")

Tabellen und Grafiken

Die ChartCollection Ausbildungsangebote für die add_line(), add_bar(), add_pie(), add_scatter(), und viele andere Methoden, um Diagramme in ein Arbeitsblatt einzubringen. Chart Titel, Legende, Kategorie und Serie des Objekts.

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")

Datenvalidierung

Die DataValidation class ermöglicht es Ihnen, Dropdown-Listen, Zahlenbereiche und benutzerdefinierte Validierungsregeln für Zellenbereichen durchzusetzen. Die Eigenschaften umfassen: type, operator, formula1, formula2, alert_style, error_title,und . 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")

Automatische Filter und Tabellen

Die automatische Filterung mit dem AutoFilter Klasse durch Anrufen set_range() Die Daten werden dann in den einzelnen Spalten gefiltert. TableCollection.add() Methode erstellt ListObject-Tabellen mit Stilen und automatischen Filtern.

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")

Schutz von Arbeitsbüchern und Arbeitsblättern

Arbeitsbücher mit Workbook.protect() und einzelne Arbeitsblätter mit Worksheet.protect().Die Schutzabschnittstelle unterstützt granulare Berechtigungen, wie das Formatieren oder Einfügen von Zeilen während der Blockierung von Löschungen.

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")

Schneller Start

Installieren Sie das Paket von PyPI:

pip install aspose-cells-foss>=26.3.1

Erstellen Sie eine Arbeitsmappe, füllen Sie einige Daten ein und speichern Sie sie:

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")

Unterstützte Formate

Format der DatenbankErweiterungLesen Sie .Schreiben .
XLSX.xlsx- Ja , das ist gut .- Ja , das ist gut .
CSV.csv- Ja , das ist gut .- Ja , das ist gut .
TSV.tsv- Nein .- Ja , das ist gut .
JSON.json- Nein .- Ja , das ist gut .
Abzug.md- Nein .- Ja , das ist gut .

Die SaveFormat enum definiert diese Ausgabeformate: AUTO, XLSX, CSV, TSV, MARKDOWN,und . JSON.Die Bibliothek liest: .xlsx Dateien nativ und kann CSV-Daten über Workbook.load_csv().


Open Source und Lizenzierung

Aspos-Cells-Foss wird unter dem MIT-Lizenz, der eine uneingeschränkte Nutzung sowohl in kommerziellen als auch nicht-kommerzielle Projekte ermöglicht. Der Quellcode ist auf www.cdm.org verfügbar. GitHub.Die Bibliothek ist auf die pycryptodome (>= 3,15,0) und olefile (>= 0,46) für die Unterstützung der Verschlüsselung.


Wie man anfängt

Die vollständige Dokumentation und das Referenzmaterial zur Erstellung von Aspose-Cells-Foss: