Indledning
At arbejde med Excel-regnskabssæt programmatisk er et almindeligt krav i databehandling, rapportering og automatisering af arbejdsprocesser. aspose-cells-foss er en open source Python bibliotek, der giver dig mulighed for at oprette, læse og ændre .xlsx arbejdsbøger uden nogen afhængighed af Microsoft Excel eller andre kontor suiter.
Aspose-cells-foss er en rig API, der dækker celleværdier, formler, stilisering, diagrammer, tabeller, former, billeder, datagodkendelse, kommentarer, hyperlinks, automatisk filtre og betinget formatering. Biblioteket kræver Python 3.7 eller højere og installeres med én enkelt kommando pip .
Denne artikel går gennem regnearkstyringsfunktioner, som aspose-cells-foss bringer til dine Python projekter med arbejdskodeeksempler baseret på den faktiske API.
Hvad der indgår i den
Celleværdier og formler
Klassen Cell understøtter heltal, flotter, strenge og formler. Du kan angive en værdi direkte gennem ̋put_value (() ̆ eller tildele et formelstreng til ejendommen ∂formula゚. Klassen ̨FormulaEvaluator∂ kan evaluere formlerne programmatisk.
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)
Stil og formatering
Klassen Style giver metoder til fyld, grænser, nummerformater og justering. Anvend en stil på enhver celle med ̋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")
Indsats:
Den ChartCollection klasse tilbyder dedikerede ̋add_line() ̆, ∂add-bar (), ̨add‐pie (??), ?? add-scatter ( ??) ) og mange andre metoder til at indsætte diagrammer i et regneark. Når den er oprettet, konfigurerer du ̇Chard-objektets titel, legende, kategoridata og serie.
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")
Datavalidering
Klassen DataValidation giver dig mulighed for at håndhæve rullelister, talintervaller og brugerdefinerede valideringsregler på celleintervall. Ejendomme omfatter ̋type, ∂operator゚, ,⌒formula1 , ゙formula2,, ̅alert_style,. ≫error_title og erorr_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")
Automatiserede filtre og tabeller
Anvend automatisk filtrering med klassen AutoFilter ved at opfordre til ̋set_range ((()⌒ og derefter filtrere individuelle kolonner. For strukturerede data opretter metoden ∂TableCollection.add ()) ̨ ListObject-tabeller med stilarter og automatiske filtre.
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")
Beskyttelse af arbejdsbøger og -arkitter
Beskyt arbejdsbøger med Arbejdsbog.protect() og individuelle regneark med _Worksheet. protect (()). Beskyttelses-API’en understøtter granulære tilladelser, f.eks. at tillade formatering eller indlægning af rækker mens slette blokeres.
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")
Hurtig start
Installer pakken fra PyPI:
pip install aspose-cells-foss>=26.3.1
Oprette en arbejdsbog, fylde nogle data og gem den:
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")
Støttede formater
| Format | Extension | Read | Write |
|---|---|---|---|
| XLSX | .xlsx | Yes | Yes |
| CSV | .csv | Yes | Yes |
| TSV | .tsv | No | Yes |
| JSON | .json | No | Yes |
| Markdown | .md | No | Yes |
Biblioteket læser `.xlsx゚-filer på et nativt niveau og kan importere CSV-data via ̋Workbook.load_csv() ̆.
Open Source & Licensing
Aspose-cells-foss er udgivet under MIT licens, som tillader ubegrænset brug i både kommercielle og ikke-kommercielt projekter. Kilden til koden er tilgængelig på GitHub. Biblioteket afhænger af pycryptodome (>= 3.15.0) og ゚olefile` (== 0.46) for kryptering støtte.
Hvordan man begynder
Udforsk den fulde dokumentation og referencemateriale for at begynde med at bygge med aspose-cells-foss:
- Udviklervejledning: docs.aspose.org/cells/python/
- Kendskabsskab: kb.aspose.org/cells/python/
- API-reference: reference.aspose.org/cells/python/