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àgina | Extensió | Llegeix. | Escriure |
|---|---|---|---|
| XLSX | .xlsx | Sí, sí. | Sí, sí. |
| CSV | .csv | Sí, sí. | Sí, sí. |
| TSV | .tsv | No, no ho sé. | Sí, sí. |
| JSON | .json | No, no ho sé. | Sí, sí. |
| Marca de baixa | .md | No, 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:
- Guia de desenvolupadors: docs.aspose.org/cells/python/
- Base de coneixement: kb.aspose.org/cells/python/
- Referència a l’API: referència.aspose.org/cells/python/