如何从 odoo 14 中的向导创建 excel/xlsx 报告

问题描述

如何从 odoo 14 中的向导生成 xlsx 报告。 我在向导中做了一个按钮

在wizard.py中

 classReceivedReportWizard(models.TransientModel):
        _name = 'po.goods.report.wizard'

  

        def print_xls(self):
            context = self._context
            data = {
            'ids': self.ids,'model': self._name,}

        return {
            'type': 'ir.actions.report','data': {'model': 'po.goods.report.wizard','options': json.dumps(data,default=date_utils.json_default),'output_format': 'xlsx','report_name': 'product receiving statement',},'report_type': 'xlsx'
        }  

在xml中

<record id="goods_received_details_xlsx" model="ir.actions.report">
        <field name="name">product receiving report</field>
        <field name="model">po.goods.report.wizard</field>
        <field name="report_name">goods_received_report.report_goods_received_xlsx</field>
    </record>

在report.py

_name = 'report.goods_received_report.report_goods_received_xlsx'
    _inherit = 'report.report_xlsx.abstract'


    def generate_xlsx_report(self,workbook,data,vendors):
        format0 = workbook.add_format({'font_size': 14,'align': 'vcenter','bold': True})
        format1 = workbook.add_format({'font_size': 11,'bold': True})
        format2 = workbook.add_format({'font_size': 8,})
        sheet = workbook.add_worksheet('Student Data Card')
        sheet.write(2,4,'test Details',format0)

请建议如何在odoo14中获取excel报告

解决方法

您是否尝试过在向导视图 xml 中调用 print_xls

<button name="print_xlx"/>

我不明白为什么要打印 xlsx 时在 xml 中声明 qweb-pdf。要打印 xlsx,您需要为 xlsx 报告安装一个新模块。