【问题标题】:Getting error while printing xls report for odoo 10打印 odoo 10 的 xls 报告时出错
【发布时间】:2018-11-16 11:38:30
【问题描述】:

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

我的代码如下:

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>

【问题讨论】:

    标签: report odoo odoo-10 xls


    【解决方案1】:

    请确保您在合作伙伴表中没有多次使用名称 A8。 如果同名存在多次,请尝试以下任一方法。

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

    供您参考:

    1. DuplicateWorksheetName

    2. Python Exceptions

    【讨论】:

    • 但是我有很多同名的客户。那么,如何删除此验证。
    • 更新了我的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多