Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用预定义的excel模板进行导出_Excel_Odoo_Odoo 12 - Fatal编程技术网

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

使用预定义的excel模板进行导出,excel,odoo,odoo-12,Excel,Odoo,Odoo 12,我的问题: 每月我必须将特定数据导出到预定义的Exel表。它可以与月度报告相比较。但是,它必须放在带有预定义样式和配置的Excel表格中。我可以创建一个以这种格式导出的模块,但不幸的是,这不是一个选项,因为公司的另一个部门每月都在更改和调整Excel文件 最佳解决方案: 最好的方法是使用一个选项将文件导入到odoo中,然后选择单元格,以便odoo知道将哪些数据放在何处。如果其他部门创建了新的Excel文件,只需将其上载到odoo,模块将替换旧文件 显然,这需要通过创建自定义模块来完成。不过,如果

我的问题:

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

最佳解决方案:

最好的方法是使用一个选项将文件导入到odoo中,然后选择单元格,以便odoo知道将哪些数据放在何处。如果其他部门创建了新的Excel文件,只需将其上载到odoo,模块将替换旧文件


显然,这需要通过创建自定义模块来完成。不过,如果知道这是否可行,那就太好了。

当然,这是可以做到的

您需要编写一个类方法,使用XlsxWriter()、OpenPyXL()或其他能够处理Xlsx文件的库()生成Excel文件

然后,您可以使用操作系统的cron触发的
预定操作
或其他python脚本(请参见
/addons/mail/static/scripts/odoo mailgate.py
)调用它

最棘手的部分是使配置变得用户友好。我建议:首先,利用
ir\u model\u data
模型指向您需要的任何东西(表、字段、记录);其次,在保存配置的模型中添加一个
sequence
字段,并在表单视图定义中使用
,以便用户可以拖放来重新排序字段


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

您可以创建一个保存的导出,将数据导出为CSV,然后使用Excel中的“从文本导入数据”选项吗?