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 Datenbank | Erweiterung | Lesen 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:
- Entwickler-Leitfaden: Das ist das, was ich für Sie tun will.
- Wissensbasis: kb.aspose.org/cells/python/
- Referenz für die API: Referenz.aspose.org/cells/python/