Introducció

Treballar amb fitxes de calcul d’Excel programàticament és un requisit comú en el processament de dades, informes i fluxos de treball d ‘automatització. Asposa-cel·les-fossa és una biblioteca de codi obert Python que et permet crear, llegir i modificar. .xlsx llibres de treball sense dependre del Microsoft Excel o d’altres suites d"oficina.

Liberats sota el Llicència MIT, aspose-cells-foss proporciona una rica superfície d’API que cobreix valors de cèl·lules, fórmules, estilització, gràfics, taules. formes, imatges, validació de dades, comentaris, hipervincles, filtres automàtics i formatatge condicional. La biblioteca requereix Python 3.7 o superior i s’installa amb un sol programari. pip Comandant.

Aquest post fa un recorregut per les capacitats de gestió de fitxes que aspose-cells-foss porta als seus projectes Python, amb exemples de codi funcionant basat en l’API real.


Què inclou?

Valors de cèl·lula i fórmules

El Cell class dóna suport a nombres enters, flotants, cadenes i fórmules. Pots definir un valor directament mitjançant put_value() o assignar una cadena de fórmula a la formula La propietat. FormulaEvaluator classe pot avaluar fórmules programàticament.

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)

Estilitzament i formatatge

El Style classe proporciona mètodes per a omplir, borders, formats de nombres i alineament. Aplicar un estil a qualsevol cèl·lula amb 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")

Gràfics

El ChartCollection classes d’oferta dedicades a la add_line(), add_bar(), add_pie(), add_scatter(), i molts altres mètodes per inserir quadres en una fitxa de treball. Una vegada creat, configurar el sistema d’imatge del diagrama. Chart títol, llegenda, dades de categoria i 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")

Validació de dades

El DataValidation class et permet imposar llistes desplegables, intervals de nombres i regles d’autorització personalitzades en intervalos de cèl·lules. Les propietats inclouen: type, operator, formula1, formula2, alert_style, error_title, i 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 i taules automàtics

Aplicar auto-filtració amb el sistema de filtres. AutoFilter classe per trucar set_range() Per a les dades estructurades, el sistema de filtració d’imatge és: TableCollection.add() El mètode crea taules de l’Object List amb estils i filtres automàtics.

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

Protecció dels llibres de treball i les fulles de feina

Protegeix els quadres de treball amb: Workbook.protect() i fitxes de treball individuals amb: Worksheet.protect().L’API de protecció dóna suport a permisos granulars com permetre el formatatge o la inserció de files mentre bloqueja les supressió.

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

Inici ràpid

Instal·lar el paquet des de PyPI:

pip install aspose-cells-foss>=26.3.1

Crear un llibre de treball, omplir algunes dades i guardar-lo:

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 suportats

Format de la pàginaExtensióLlegeix.Escriure
XLSX.xlsxSí, sí.Sí, sí.
CSV.csvSí, sí.Sí, sí.
TSV.tsvNo, no ho sé.Sí, sí.
JSON.jsonNo, no ho sé.Sí, sí.
Marca de baixa.mdNo, no ho sé.Sí, sí.

El SaveFormat enum defineix aquests formats de sortida: AUTO, XLSX, CSV, TSV, MARKDOWN, i JSON.La biblioteca llegeix: .xlsx arxius de forma nativa i pot importar dades CSV a través del sistema d’enllaç. Workbook.load_csv().


Fonte oberta i llicències

l’aspósa-cel·l·fos es libera sota la Llicència MIT, que permet l’ús il·limitat en projectes tant comercials com no comercial. El codi font està disponible a la pàgina web de Google Earth. GitHub.La biblioteca depèn de la seva pròpia vida. pycryptodome (>= 3,15,0) i olefile (>= 0,46) per a suport de xifratge.


Com començar a treballar

Explora la documentació completa i el material de referència per començar a construir amb aspose-cells-foss: