未知的报告类型:xlsx:-Odoo 10

时间:2018-11-07 10:54:13

标签: odoo xlsx odoo-10

我正在尝试创建xlsx报告。我尝试了以下代码,但出现错误:

  

回溯(最近通话最近):     文件“ /home/shar/Projects/git/odoo/addons/web/controllers/main.py”,行72       返回f(* args,** kwargs)     文件“ /home/shar/Projects/git/odoo/addons/web/controllers/main.py”,行1485,在索引中       request.session.db,request.session.uid,request.session.password,report_id])     在dispatch_rpc中的文件“ /home/shar/Projects/git/odoo/odoo/http.py”,第118行       结果=派遣(方法,参数)     派遣文件“ /home/shar/Projects/git/odoo/odoo/service/report.py”,第35行       res = fn(db,uid,* params)     在exp_report_get中,文件“ /home/shar/Projects/git/odoo/odoo/service/report.py”,第142行       返回_check_report(report_id)     _check_report中的文件“ /home/shar/Projects/git/odoo/odoo/service/report.py”,第120行       引发UserError('%s:%s'%(exc.message,exc.traceback))   UserError:(u“未知报告类型:xlsx:(,NotImplementedError(u'未知报告类型:xlsx',),)”,'')

这是我的代码:

*。py

# -*- coding: utf-8 -*-
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
            # One sheet by partner
            sheet = workbook.add_worksheet(report_name[:31])
            bold = workbook.add_format({'bold': True})
            sheet.write(0, 0, obj.name, bold)


   PartnerXlsx('report.module_name.res.partner.xlsx',
        'res.partner')

*。xml

  <report
      id="partner_xlsx"
      model="res.partner"
      string="Print to XLSX"
      report_type="xlsx"
      name="res.partner.xlsx"
      file="res.partner.xlsx"
      attachment_use="False"
  />

2 个答案:

答案 0 :(得分:0)

我们没有 xlsx 格式的report_type

我们只有qweb-pdf,qweb-html,控制器

report_type将接受其中的任何一个( qweb-pdf,qweb-html,控制器

它没有这样的 xlsx

请参考“ ir.actions.report.xml ”类以获取更多参考信息

答案 1 :(得分:0)

您的代码似乎正确,但是请记住,所有其他odoo规则仍然适用,请不要忘记:

  1. 在_openerp_.py清单中将'report_xlsx'添加为依赖项
  2. 在_openerp_.py清单中的数据字典中添加.xml文件(“数据”:['report / file.xml'])
  3. 在报表文件夹中添加一个带有from . import <report_file_name>的__init__.py文件(清单中声明的​​.py文件所在的位置,最好是xml文件所在的位置)。

    < / li>
  4. 在附件__init__.py文件中添加from . import report

  5. 在odoo应用程序中更新您的插件。

那之后应该工作。