跳转到主要内容

创建csv报告的基本模块

项目描述

Beta License: AGPL-3 OCA/reporting-engine Translate me on Weblate Try me on Runbot

本模块提供了一个基本的报告类,用于生成csv报告。

目录

配置

如果导出的CSV报告需要使用除UTF-8以外的系统进行编码,则应相应地填写报告记录的以下字段(设置 > 技术 > 报告)。

  • 编码:设置编码系统(例如cp932)

  • 编码错误处理:根据需要选择“忽略”或“替换”。

    • “忽略”:在编码错误的情况下,问题字符将被从导出文件中删除。

    • “替换”:在编码错误的情况下,问题字符将被替换为“?”符号。

    • 留空:在编码错误的情况下,报告生成将因错误消息而失败。

用法

一个名为module_name的模块中合作伙伴的CSV报告示例

一个Python类

from odoo import models

class PartnerCSV(models.AbstractModel):
    _name = 'report.report_csv.partner_csv'
    _inherit = 'report.report_csv.abstract'

    def generate_csv_report(self, writer, data, partners):
        writer.writeheader()
        for obj in partners:
            writer.writerow({
                'name': obj.name,
                'email': obj.email,
            })

    def csv_report_options(self):
        res = super().csv_report_options()
        res['fieldnames'].append('name')
        res['fieldnames'].append('email')
        res['delimiter'] = ';'
        res['quoting'] = csv.QUOTE_ALL
        return res

一个报告XML记录

<report
    id="partner_csv"
    model="res.partner"
    string="Print to CSV"
    report_type="csv"
    name="module_name.report_name"
    file="res_partner"
    attachment_use="False"
/>

根据需要更新编码为适当的值(例如cp932)。

错误追踪

错误在GitHub问题上跟踪。如果遇到问题,请检查那里您的问题是否已被报告。如果是您首先发现的,请通过提供详细和受欢迎的反馈来帮助我们解决它。

请不要直接联系贡献者以获取支持或帮助解决技术问题。

致谢

作者

  • Creu Blanca

贡献者

维护者

本模块由OCA维护。

Odoo Community Association

OCA,或Odoo社区协会,是一个非营利组织,其使命是支持Odoo功能的协作开发并推广其广泛应用。

本模块是GitHub上OCA/reporting-engine项目的组成部分。

欢迎您贡献。了解如何贡献,请访问https://odoo-community.org/page/Contribute

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码发行版

本发布没有提供源代码发行版文件。请参阅生成发行版存档的教程

构建发行版

odoo13_addon_report_csv-13.0.1.0.3-py3-none-any.whl (33.6 kB 查看哈希值)

上传时间 Python 3

支持者

AWSAWS 云计算和安全赞助商 DatadogDatadog 监控 FastlyFastly CDN GoogleGoogle 下载分析 MicrosoftMicrosoft PSF 赞助商 PingdomPingdom 监控 SentrySentry 错误日志 StatusPageStatusPage 状态页面