Materi
Workbook() membuat workbook baru di memori yang sudah berisi satu sheet, wb.active, bernama "Sheet". Ganti namanya lewat ws.title. Nilai ditulis ke satu sel dengan ws["A1"] = "nama", atau ke satu baris sekaligus dengan ws.append([...]), yang menaruh isi list di bawah baris terakhir yang terisi, mulai dari kolom A. wb.create_sheet("Nama") menambah sheet baru. Tidak ada berkas yang terbentuk sampai wb.save("nama.xlsx") dipanggil.
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
ws.title = "Inventaris"
ws.append(["barang", "jumlah"])
for barang, jumlah in [("Proyektor", 2), ("Papan tulis", 3)]:
ws.append([barang, jumlah])
wb.save("inventaris.xlsx")Menyunting berkas yang sudah ada polanya sama: load_workbook, ubah selnya, lalu save. wb.save menimpa berkas bernama sama tanpa peringatan, jadi simpan hasil suntingan dengan nama baru dan biarkan berkas kiriman asli tetap utuh sampai hasilnya diperiksa.
Kapan dipakai: membuat berkas yang bentuknya sama setiap kali — daftar hadir rapat, daftar barang yang harus dipesan ulang, lampiran surat — dari data yang sudah ada di Python.
Pesan error yang akan kamu temui
TypeError: Value must be a list, tuple, range or generator, or a dict muncul bila ws.append diberi satu teks, misalnya ws.append("Proyektor"); bungkus nilainya dalam list. Kalau berkas hasilnya tidak ditemukan saat diperiksa, wb.save belum dipanggil atau dipanggil dengan nama lain.