如何通过openerp_sxw2rml.py将SXW文件转换为RML文件?

3 投票
3 回答
1436 浏览
提问于 2025-04-30 16:24

我正在尝试把一个 SXW 文件转换成 RML 文件,使用的是 openerp_sxw2rml.py 这个工具,但它出现了很多错误,并且生成的 RML 文件是空的。我确定 SXW 文件的内容是正确的,因为我使用的是 OpenERP 模块中现有的 SXW 文件,来检查它们是否能正确转换。

比如,我从 account 模块复制了 account_balance.sxw 文件,然后把它粘贴到 openerp_sxw2rml 文件夹里进行测试。接着我执行了这个命令:

sudo ./openerp_sxw2rml.py /opt/openerp7/addons/base_report_designer/openerp_sxw2rml/account_balance.sxw > /opt/openerp7/addons/base_report_designer/openerp_sxw2rml/account_balance.rml

结果是这样的:

./openerp_sxw2rml.py: 30: ./openerp_sxw2rml.py: 
OpenERP SXW2RML - The OpenERP's report engine

OpenERP SXW2RML is part of the OpenERP Report Project.
OpenERP Report is a module that allows you to render high quality PDF document
from an OpenOffice template (.sxw) and any relationl database.
: not found
./openerp_sxw2rml.py: 31: ./openerp_sxw2rml.py: __version__: not found
./openerp_sxw2rml.py: 34: ./openerp_sxw2rml.py: import: not found
./openerp_sxw2rml.py: 35: ./openerp_sxw2rml.py: import: not found
./openerp_sxw2rml.py: 36: ./openerp_sxw2rml.py: import: not found
./openerp_sxw2rml.py: 37: ./openerp_sxw2rml.py: import: not found
./openerp_sxw2rml.py: 38: ./openerp_sxw2rml.py: import: not found
from: can't read /var/mail/reportlab.lib.units
./openerp_sxw2rml.py: 40: ./openerp_sxw2rml.py: import: not found
./openerp_sxw2rml.py: 41: ./openerp_sxw2rml.py: import: not found
./openerp_sxw2rml.py: 43: ./openerp_sxw2rml.py: class: not found
./openerp_sxw2rml.py: 44: ./openerp_sxw2rml.py: General DOM API utilities.: not found
./openerp_sxw2rml.py: 45: ./openerp_sxw2rml.py: Syntax error: "(" unexpected

为什么会这样呢?有没有人遇到过同样的问题?

任何帮助都非常感谢!

暂无标签

3 个回答

2

下面这个拉取请求解决了这个问题: https://github.com/odoo/odoo-extra/pull/52

真诚的,

Malte

3

首先,去到 addons/base_report_designer/openerp_sxw2rml 这个路径,然后按照下面的命令操作。

一般的语法是:

python openerp_sxw2rml.py src_path_of_sxw > dest_path_of_rml

这里的 scr_path_of_sxw 是你存放 .sxw 文件 的源路径,而 dest_path_of_rml 是你存放 .rml 文件 的目标路径。

2

用python来运行它

sudo python openerp_sxw2rml.py /opt/openerp7/addons/base_report_designer/openerp_sxw2rml/account_balance.sxw > /opt/openerp7/addons/base_report_designer/openerp_sxw2rml/account_balance.rml

(你需要用python来替代./

撰写回答