Pengantar
Bekerja dengan spreadsheet Excel secara programatis adalah persyaratan umum dalam pemrosesan data, pelaporan, dan alur kerja otomatisasi. Asposis-sel-fos adalah perpustakaan Python open-source yang memungkinkan Anda membuat, membaca dan memodifikasi .xlsx buku kerja tanpa ketergantungan pada Microsoft Excel atau suite kantor lainnya.
Diperbarui di bawah Lisensi MIT, aspose-cells-foss menyediakan permukaan API yang kaya mencakup nilai sel, rumus, styling, grafik, tabel, bentuk, gambar, validasi data, komentar, hyperlink, otomatis filter dan format bersyarat. Perpustakaan membutuhkan Python 3.7 atau lebih tinggi dan menginstal dengan satu aplikasi. pip perintah.
Posting ini berjalan melalui kemampuan manajemen spreadsheet yang dibawa aspose-cells-foss ke proyek Python Anda, dengan contoh kode kerja berdasarkan API aktual.
Apa yang Termasuk?
Nilai dan Rumus Sel
Pengelolaan Cell class mendukung bilangan bulat, float, string dan rumus. Anda dapat mengatur nilai langsung melalui put_value() atau menetapkan string rumus ke formula properti. FormulaEvaluator kelas dapat mengevaluasi rumus secara program.
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)
Penataan Gaya dan Format
Pengelolaan Style class menyediakan metode untuk mengisi, batas, format angka, dan penyelarasan. Terapkan gaya ke sel manapun dengan 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")
Bagan-bagan
Pengelolaan ChartCollection kelas menawarkan khusus add_line(), add_bar(), add_pie(), add_scatter(), dan banyak metode lain untuk memasukkan grafik ke dalam lembar kerja. Setelah dibuat, konfigurasi Chart judul objek, legenda, data kategori dan seri.
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")
Validasi data
Pengelolaan DataValidation class memungkinkan Anda memaksakan daftar dropdown, rentang nomor, dan aturan validasi kustom pada rentan sel. Properti termasuk type, operator, formula1, formula2, alert_style, error_title, dan 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")
Filter dan Tabel Otomatis
Menerapkan otomatis penyaringan dengan AutoFilter kelas dengan menelepon set_range() dan kemudian menyaring kolom individu. Untuk data terstruktur, TableCollection.add() metode membuat tabel ListObject dengan gaya dan filter otomatis.
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")
Perlindungan buku kerja dan lembar kerja
Melindungi buku kerja dengan Workbook.protect() dan lembar kerja individu dengan Worksheet.protect().API perlindungan mendukung izin granular seperti memungkinkan pemformatan atau memasukkan baris sambil memblokir penghapusan.
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")
Memulai dengan cepat
Instal paket dari PyPI:
pip install aspose-cells-foss>=26.3.1
Buat buku kerja, isi beberapa data, dan simpan:
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")
Format yang Didhukung
| Format (Inggris) | Perpanjangan | Bacalah. | Menulis |
|---|---|---|---|
| XLSX | .xlsx | Ya, aku tahu. | Ya, aku tahu. |
| CSV | .csv | Ya, aku tahu. | Ya, aku tahu. |
| TSV | .tsv | Tidak ada. | Ya, aku tahu. |
| JSON | .json | Tidak ada. | Ya, aku tahu. |
| Markingdown (pengurangan) | .md | Tidak ada. | Ya, aku tahu. |
Pengelolaan SaveFormat enum mendefinisikan format output ini: AUTO, XLSX, CSV, TSV, MARKDOWN, dan JSON.Perpustakaan membaca … .xlsx file secara native dan dapat mengimpor data CSV melalui Workbook.load_csv().
Open Source & Lisensi
Asposis-cell-foss dilepaskan di bawah Lisensi MIT, yang memungkinkan penggunaan tanpa batasan dalam proyek komersial dan non-komersial. Kode sumber tersedia di WEB GitHub.Perpustakaan bergantung pada pycryptodome (>= 3,15,0) dan olefile (>= 0,46) untuk dukungan enkripsi.
Memulai
Pelajari dokumentasi lengkap dan bahan referensi untuk memulai membangun dengan aspose-cells-foss:
- Panduan Pengembang: Docs.aspose.org/cells/python/
- Basis Pengetahuan: kb.aspose.org/cells/python/
- Referensi API: referensi.aspose.org/cells/python/