Odoo ini adalah cara saya untuk memberikan kontribusi kembali kepada Komunitas Odoo, untuk semua berbagi yang tanpa pamrih dan luar biasa oleh anggota komunitas.
Prasyarat dalam membuat file Excel adalah untuk mengunduh dan menginstal modul OCA berikut: Base Report xlsx
Penting untuk setidaknya sedikit mempelajari Xlsxwriter.
Buat sebuah kelas dan turunkan dari kelas report.report_xlsx.abstract. Implementasikan generate_xlsx_report.
class ShippingInstructionXlsx(models.AbstractModel):
_name = 'report.sci_goexcel_freight_2.report_si_xlsx'
_inherit = 'report.report_xlsx.abstract'
def generate_xlsx_report(self, workbook, data, lines):
Berikut adalah metode-metode yang berguna dalam Xlsxwriter:
Tambahkan nama ke lembar Excel.
workbook.add_worksheet('worksheet name')
Buat formatnya. Misalnya, atur ukuran font, garis batas di kiri dan kanan, ratakan ke atas, warna font merah, non-tebal, dan bungkus teks.
format_label = workbook.add_format({'font_size': 12, 'valign': 'top', 'bold': False, 'left': True, 'right': True, 'text_wrap':True})
format_label.set_font_color('red')
Atur lebar kolom menjadi 15 untuk kolom D hingga I.
sheet.set_column(3, 8, 15)
Gabungkan baris 1, kolom D dan E menjadi 1 kolom, dan tulis string 'Nomor Pemesanan' pada baris 1, kolom D, dengan format_label.
sheet.merge_range(1, 3, 1, 4, '', merge_format)
sheet.write(1, 3, 'Booking No.', format_label)
Gabungkan sel baris 2 hingga 7 dan tulis 'Pengirim' di dalamnya.
merge_format = workbook.add_format({'align': 'center'})
sheet.merge_range(1, 0, 6, 0, '', merge_format)
sheet.write(1, 0, 'Shipper', format_label)
reference by : Odoo - Tips to Create and Write to Excel file (Python) (excelroot.com)