Introduction

Travailler avec les panneaux Excel en programmatie est un besoin commun dans le traitement des données, la reporting et les flux de travail d’automatisation. Les cellules-foss C’est une bibliothèque Python open source qui vous permet de créer, lire et modifier. .xlsx Les livres de travail sans dépendance sur Microsoft Excel ou d’autres suites Office.

Réservé sous le Licence de M, aspose-cells-foss fournit une API riche surface couvrant les valeurs cellulaires, formules, styling, diagrammes, tables, formes, images, validation de données, commentaires, hyperliens, auto-filtres et formatage conditionnel. La bibliothèque nécessite Python 3.7 ou plus haut et s’installe avec un seul pip Commande !.

Cet article parcourt les capacités de gestion de feuilles de calcul qu’aspose-cells-foss apporte à vos projets Python, avec des exemples de code fonctionnels basés sur l’API réelle.


Ce qui est inclus

Valeurs de cellules et formules

Le Cell classe soutient les intégrations, les flots, la ligne et les formules. Vous pouvez définir une valeur directement par le biais de put_value() ou d’ajouter une formule à la formula propriété : le FormulaEvaluator Les formules peuvent être évaluées de manière programmée.

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 et formatage

Le Style classe fournit des méthodes pour les remplis, limites, formats numériques et alignement. appliquer un style à toute cellule avec 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")

Graphiques

Le ChartCollection Les offres de classe dédiées add_line(), add_bar(), add_pie(), add_scatter(), et de nombreux autres méthodes pour insérer des graphiques dans un feuille de travail. Une fois créé, configurer le Chart Titre, légende, données de catégorie et série.

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

Validation des données

Le DataValidation classe vous permet d’exécuter des listes de descente, rangs de numéros et les règles de validation personnalisées sur les ranges cellulaires. type, operator, formula1, formula2, alert_style, error_title,et 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")

Filtres automatiques et tableaux

Appliquer le filtre automatique avec la AutoFilter Classement par appel set_range() et ensuite filtrer les colonnes individuelles. Pour des données structurées, le TableCollection.add() La méthode crée des tables ListObject avec des styles et des filtres automatiques.

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

Protection des classeurs et des feuilles de calcul

Protéger les livres de travail avec Workbook.protect() et des ouvrages individuels avec Worksheet.protect().L’API de protection soutient les permissions granulaires telles que la possibilité de formatage ou d’insérer des lignes tout en bloquant les supprimements.

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

Démarrage rapide

Installez le paquet depuis PyPI :

pip install aspose-cells-foss>=26.3.1

Créez un classeur, remplissez quelques données et enregistrez‑le :

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

Formats soutenus

FormatsExtensionLireÉcrire
XLSX.xlsxOuiOui
CSV.csvOuiOui
TSV.tsvNon pasOui
JSON.jsonNon pasOui
Marqueur.mdNon pasOui

Le SaveFormat Enum définit ces formats de sortie : AUTO, XLSX, CSV, TSV, MARKDOWN,et JSON.La bibliothèque lit .xlsx fichiers natifs et peut importer des données CSV par le biais de Workbook.load_csv().


Source ouverte et licence

Les cellules-foss sont libérées sous la Licence de M,qui permet un usage illimité dans les projets commerciaux et non-commerciaires. le code source est disponible sur GitHub.La bibliothèque dépend de pycryptodome (> = 3.15.0) et olefile (>= 0.46) pour le support de cryptage.


Pour commencer

Explorez la documentation complète et le matériel de référence pour commencer à développer avec aspose-cells-foss :

Ressources associées