I generate xlsx report for a list of customers and my report generated according to individual customer wise means for 4 customers 4 sheets generated. But, I want a single sheet for multiple customers list.
my code and screenshots are here:
from odoo.addons.report_xlsx.report.report_xlsx import ReportXlsx
class PartnerXlsx(ReportXlsx):
def generate_xlsx_report(self, workbook, data, partners):
for obj in partners:
report_name = obj.name
print("REPRTTTTTTT", report_name, report_name[:31])
# One sheet by partner
sheet = workbook.add_worksheet(report_name[:31])
bold = workbook.add_format({'bold': True})
sheet.write(0, 0, obj.name, bold)
sheet.write(0, 1, obj.email, bold)
sheet.write(0, 2, obj.telephone, bold)
PartnerXlsx('report.res.partner.xlsx', 'res.partner')
Try below code:
from odoo.addons.report_xlsx.report.report_xlsx import ReportXlsx
class PartnerXlsx(ReportXlsx):
def generate_xlsx_report(self, workbook, data, partners):
sheet = workbook.add_worksheet(report_name[:31])
counter = 0
for obj in partners:
report_name = obj.name
print("REPRTTTTTTT", report_name, report_name[:31])
# One sheet by partner
bold = workbook.add_format({'bold': True})
sheet.write(counter, 0, obj.name, bold)
sheet.write(counter, 1, obj.email, bold)
sheet.write(counter, 2, obj.telephone, bold)
counter = counter + 1
PartnerXlsx('report.res.partner.xlsx', 'res.partner')