在打印odoo 10的xls报告时出现错误

时间:2018-11-16 11:38:30

标签: report odoo odoo-10 xls

我正在使用Odoo10,并且在打印xls报告“ Sheetname'A8'(大小写忽略)已在使用中时,出现以下错误。:(,Exception(u“ Sheetname'A8',大小写忽略了,是已在使用中。”,), ) ”。那么,如何解决这个问题呢?

我的代码如下:

Python:

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.res.partner.xlsx', 
            'res.partner')

Xml:

<odoo>
    <data>
        <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"/>
    </data>
</odoo>

1 个答案:

答案 0 :(得分:1)

请确保您在伙伴表中的名称A8不止一次。 如果同一个名称不止一次存在,请尝试以下方法之一。

  1. 使用工作表名称作为合作伙伴名称和代码的组合。
  2. 使用python try and exception方法。如果发生异常,请更改名称。

供您参考:

  1. DuplicateWorksheetName

  2. Python Exceptions