使用预定义的Excel模板进行导出

问题描述 投票:0回答:1

我的问题:

每月我必须将特定数据导出到预定义的Exel表。它可以与月度报告进行比较。但是,必须将其放在具有预定义样式和配置的Excel工作表中。我可以创建一个以这种格式导出的模块,但不幸的是,这不是一个选项,因为Excel文件正在由公司的另一个部门每月更改和调整。

最佳解决方案

最好的方法是选择将文件导入odoo然后选择单元格,以便odoo知道放置哪些数据。如果其他部门创建了新的Excel文件,则只需将其上传到odoo,模块将替换旧文件。

显然,这需要通过创建自定义模块来完成。但是,知道这是否可能会很好吗?

excel odoo odoo-12
1个回答
0
投票

当然,它可以做到!

您需要编写一个类方法,使用XlsxWriter(https://xlsxwriter.readthedocs.io),OpenPyXL(https://openpyxl.readthedocs.io)或其他能够处理Xlsx文件的库(https://xlsxwriter.readthedocs.io/alternatives.html)生成Excel文件。

然后你可以使用scheduled action或操作系统的cron触发的另一个python脚本(参见<path_to_v12>/addons/mail/static/scripts/odoo-mailgate.py来获得一个想法)来调用它。

棘手的部分是使配置用户友好。我建议:首先,利用ir_model_data模型指向你需要的任何东西(表格,字段,记录);其次,将sequence字段添加到包含配置的模型中,并在表单视图定义中使用<field name="sequence" widget='handle'/>,以便用户可以拖放以重新排序字段。

顺便说一句,创建自定义模块是个好主意。

© www.soinside.com 2019 - 2024. All rights reserved.