跳转到主要内容

Excel导入/导出/报告的基础模块

项目描述

Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

该模块提供预构建函数和向导,以便开发者轻松构建Excel导入/导出/报告。

无需编写代码即可创建Excel文件,开发者可以:

  • 创建菜单、动作、向导、模型、视图,进行正常的Odoo开发。

  • 使用标准的Excel应用程序设计Excel模板,例如颜色、字体、公式等。

  • 使用简单的字典指令或从Odoo UI指示数据在Excel中的位置。

  • Odoo将结合指令和Excel模板,生成最终的Excel文件。

目录

安装

要安装此模块,您需要安装以下Python库,xlrd, xlwt, openpyxl

然后,简单地安装 excel_import_export

对于演示,安装 excel_import_export_demo

使用

该模块包含预定义的函数和向导,使导出、导入和报告变得简单。

该模块的核心有2个主要的方法

  • self.env['xlsx.export'].export_xlsx(...)

  • self.env['xlsx.import'].import_xlsx(...)

对于报告,也可以调用export_xlsx(…),但通过以下方法

  • self.env['xslx.report'].report_xlsx(...)

安装此模块后,转到设置 > Excel导入/导出 > XLSX模板,关键组件就在这里。

由于此模块提供工具,最好用用例来解释。例如用例,请安装 excel_import_export_demo

用例1:在现有文档上导出/导入Excel

此功能向现有文档中添加导出/导入操作菜单(例如 - excel_import_export_demo/import_export_sale_order)

  1. 在文档上创建导出操作菜单 <act_window>,res_model="export.xlsx.wizard",src_model="<document_model>",并使用 context[‘template_domain’] 定位正确的模板 - actions.xml

  2. 在文档上创建导入操作菜单 <act_window>,res_model="import.xlsx.wizard",src_model="<document_model>",并使用 context[‘template_domain’] 定位正确的模板 - action.xml

  3. 创建/设计 Excel 模板文件 (.xlsx),在模板中,将用于导出/导入的底层数据表命名为 - <file>.xlsx

  4. 在 xlsx.template 模型中创建导出/导入的指令字典 - templates.xml

用例 2: 导入 Excel 文件

使用菜单向导创建新文档(例如 - excel_import_export_demo/import_sale_orders)

  1. 使用带有搜索向导的报告菜单,res_model="import.xlsx.wizard" 和 context[‘template_domain’] 定位正确的模板 - menu_action.xml

  2. 创建 Excel 模板文件 (.xlsx),在模板中,将用于导入的底层数据表命名为 - <import file>.xlsx

  3. 在 xlsx.template 模型中创建导入的指令字典 - templates.xml

用例 3: 创建 Excel 报表

使用创建报告菜单的准则向导。 (例如 - excel_import_export_demo/report_sale_order)

  1. 创建报告的菜单、操作,并添加 context[‘template_domain’] 定位此报告的正确模板 - <report>.xml

  2. 创建用于搜索准则的报告向导。该视图继承自 excel_import_export.xlsx_report_view,mode="primary"。在此视图中,您只需添加准则字段,其余的将重用继承视图 - <report.xml>

  3. 创建报告模型作为 models.Transient,然后定义搜索准则字段,并将报告数据获取到 results 字段 - <report>.py

  4. 创建/设计 Excel 模板文件 (.xlsx),在模板中,将用于报告结果的底层数据表命名为 - <report_file>.xlsx

  5. 在 xlsx.template 模型中创建报告的指令字典 - templates.xml

注意

另一种报告选项是使用报告操作(report_type=’excel’),即

<report id='action_report_saleorder_excel'
        string='Quotation / Order (.xlsx)'
        model='sale.order'
        name='sale_order.xlsx'
        file='sale_order'
        report_type='excel'
/>

通过使用报告操作,Odoo 将使用模型和名称的组合来查找模板,然后对底层记录进行导出。请参阅 excel_import_export_demo/report_action 中的示例,它显示

  1. 从活动销售订单打印 Excel

  2. 根据搜索准则运行合作伙伴列表报告。

已知问题/路线图

  • 模块扩展,例如 excel_import_export_async,它添加了执行异步操作的能力。

  • 能够在 XLSX 模板中添加上下文操作,例如,添加导入操作、添加导出操作。方式与服务器操作类似。

变更日志

12.0.1.0.5 (2019-12-19)

  • 在处理大量行时加快导出速度

12.0.1.0.4 (2019-08-28)

  • 修复页脚中的样式求和

12.0.1.0.3 (2019-08-09)

  • 为 report_type = ‘excel’ 添加报告操作

12.0.1.0.2 (2019-08-07)

  • 小修复,确保系统参数 ‘path_temp_file’(ir.config_parameter)可读

12.0.1.0.1 (2019-06-24)

12.0.1.0.0 (2019-02-24)

  • 历史的开始

错误跟踪器

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

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

致谢

作者

  • Ecosoft

贡献者

维护者

此模块由 OCA 维护。

Odoo Community Association

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

当前维护者

kittiu

本模块是GitHub上OCA/server-tools项目的一部分。

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

项目详情


发布历史 发布通知 | RSS订阅

下载文件

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

源代码分发

此版本没有可用的源代码分发文件。请参阅生成分发存档的教程。

构建分发

由...