KWITANSI PEMBAYARAN

import pandas as pd from openpyxl import Workbook from openpyxl.styles import Font, Alignment, PatternFill from openpyxl.utils.dataframe import dataframe_to_rows # Data kwitansi data = { "No.": [1, 2], "Nama Barang": ["Pengembangan Website", "Hosting & Domain"], "Quantity": [1, 1], "Jumlah (Rp)": [7500000, 1200000] } df = pd.DataFrame(data) df.loc[len(df.index)] = ["", "Total", "", sum(df["Jumlah (Rp)"])] # Buat workbook wb = Workbook() ws = wb.active ws.title = "Kwitansi CV BARUNGODING" # Judul dan header ws.merge_cells("A1:D1") ws["A1"] = "KWITANSI PEMBAYARAN - CV. BARUNGODING" ws["A1"].font = Font(size=14, bold=True) ws["A1"].alignment = Alignment(horizontal="center") # Tambahkan data dari DataFrame for r_idx, row in enumerate(dataframe_to_rows(df, index=False, header=True), 3): for c_idx, value in enumerate(row, 1): cell = ws.cell(row=r_idx, column=c_idx, value=value) if r_idx == 3: # Header cell.font = Font(bold=True, color="FFFFFF") cell.fill = PatternFill(start_color="4CAF50", end_color="4CAF50", fill_type="solid") cell.alignment = Alignment(horizontal="center", vertical="center") # Set lebar kolom column_widths = [6, 30, 10, 15] for i, width in enumerate(column_widths, 1): ws.column_dimensions[chr(64 + i)].width = width # Simpan file excel_path = "/mnt/data/kwitansi_cv_barungoding.xlsx" wb.save(excel_path) excel_path

Posting Komentar

0 Komentar