0
votes

i am trying to create an xlsx report using a wizard.

Here is the code.

wizard.py

def button_export_excel(self):
    print('Print')// It prints
    datas={}
    datas['form']=self.read()[0]
    return {'type': 'ir.actions.report',
            'report_name': 'my_module.partner_sts_xlsx',
            'datas': datas,
            'name': 'Report Name'
            } 

report.py

 class PartnerOUTStatementXlsx(models.AbstractModel):
   _name = 'report.my_module.partner_sts_xlsx'
   _inherit = 'report.report_xlsx.abstract'

def generate_xlsx_report(self, workbook, datas, partners):
    print('data',datas)
    print('partners',partners)
    for obj in partners:
        report_name = obj.name
        # One sheet by partner
        sheet = workbook.add_worksheet(report_name[:31])
        bold = workbook.add_format({'bold': True})
        sheet.write(0, 0, obj.name, bold)

It doesn't call generate_xlsx_report function. How can i achieve this?

1

1 Answers

1
votes

Finally found the solution.

i returned the function like this.

return self.env.ref(
        'my_module'
        '.partner_stat_xlsx').report_action(
        self, data=datas)