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

时间:2019-04-05 07:35:41

标签: excel odoo odoo-12

我的问题:

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

最佳解决方案:

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

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

1 个答案:

答案 0 :(得分: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'/>,以便用户可以拖放以对字段重新排序。

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