SQL Export Excel

sql_export_excel
REPOSITORY
REPOSITORYOCA/reporting-engine
GIT
GIThttps://github.com/OCA/reporting-engine.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/reporting-engine/tree/18.0/sql_export_excel
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYGeneric Modules/Others
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSFlorian da Costa, OCA-git-bot, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/reporting-engine
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:07
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/reporting-engine:
    - sql_export
    - sql_request_abstract
odoo/odoo:
    - spreadsheet_dashboard
    - spreadsheet
    - bus
    - base
    - web
    - portal
    - web_editor
    - html_editor
    - http_routing
    - mail
    - base_setup
    - web_tour
    - auth_signup
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES openpyxl
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Add the possibility to extract data from a sql query toward an excel
file. It is also possible to provide an template excel file for a query.
In this case, the data will be inserted in the specified sheet of the
provided excel file. This is usefull when doing a lot of calculation in
excel and the data is coming from Odoo.

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
sql_export_excel_view_form sql.export field Inherits sql_export.sql_export_view_form
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (1)

New fields (6)
  • attachment_id Many2one → ir.attachment
    help='If you configure an excel file (in xlsx format) here, the result of the query will be injected in it.\nIt is usefull to feed data in a excel file pre-configured with calculation' string='Excel Template' args: 'ir.attachment'
  • col_position Integer
    default=1 help='Indicate from which column the result of the query should be injected.' string='Column Position'
  • file_format Selection
    ondelete={'excel': 'set default'} selection_add=[('excel', 'Excel')]
  • header Boolean
    default=True help='Indicate if the header should be exported to the file.'
  • row_position Integer
    default=1 help='Indicate from which row the result of the query should be injected.'
  • sheet_position Integer
    default=1 help="Indicate the sheet's position of the excel template where the result of the sql query should be injected."
Public methods (4)
  • check_column_position(self)
    @api.constrains('col_position')
  • check_row_position(self)
    @api.constrains('row_position')
  • check_sheet_position(self)
    @api.constrains('sheet_position')
  • excel_get_data_from_query(self, variable_dict)
REPOSITORY
REPOSITORYOCA/reporting-engine
GIT
GIThttps://github.com/OCA/reporting-engine.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/reporting-engine/tree/17.0/sql_export_excel
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYGeneric Modules/Others
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, Marius
WEBSITE
WEBSITEhttps://github.com/OCA/reporting-engine
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:20:00
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/reporting-engine:
    - sql_export
    - sql_request_abstract
odoo/odoo:
    - spreadsheet_dashboard
    - spreadsheet
    - bus
    - base
    - web
    - portal
    - web_editor
    - http_routing
    - mail
    - base_setup
    - web_tour
    - auth_signup
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES openpyxl
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Add the possibility to extract data from a sql query toward an excel
file. It is also possible to provide an template excel file for a query.
In this case, the data will be inserted in the specified sheet of the
provided excel file. This is usefull when doing a lot of calculation in
excel and the data is coming from Odoo.

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
sql_export_excel_view_form sql.export field Inherits sql_export.sql_export_view_form
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (1)

New fields (6)
  • attachment_id Many2one → ir.attachment
    help='If you configure an excel file (in xlsx format) here, the result of the query will be injected in it.\nIt is usefull to feed data in a excel file pre-configured with calculation' string='Excel Template' args: 'ir.attachment'
  • col_position Integer
    default=1 help='Indicate from which column the result of the query should be injected.' string='Column Position'
  • file_format Selection
    ondelete={'excel': 'set default'} selection_add=[('excel', 'Excel')]
  • header Boolean
    default=True help='Indicate if the header should be exported to the file.'
  • row_position Integer
    default=1 help='Indicate from which row the result of the query should be injected.'
  • sheet_position Integer
    default=1 help="Indicate the sheet's position of the excel template where the result of the sql query should be injected."
Public methods (4)
  • check_column_position(self)
    @api.constrains('col_position')
  • check_row_position(self)
    @api.constrains('row_position')
  • check_sheet_position(self)
    @api.constrains('sheet_position')
  • excel_get_data_from_query(self, variable_dict)
REPOSITORY
REPOSITORYOCA/reporting-engine
GIT
GIThttps://github.com/OCA/reporting-engine.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/reporting-engine/tree/16.0/sql_export_excel
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYGeneric Modules/Others
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSFlorian da Costa, Weblate, OCA-git-bot, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/reporting-engine
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:53:57
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/reporting-engine:
    - sql_export
    - sql_request_abstract
odoo/odoo:
    - spreadsheet_dashboard
    - spreadsheet
    - bus
    - base
    - web
    - mail
    - base_setup
    - web_tour
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES openpyxl
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
sql_export_excel_view_form sql.export field Inherits sql_export.sql_export_view_form
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (1)

New fields (6)
  • attachment_id Many2one → ir.attachment
    help='If you configure an excel file (in xlsx format) here, the result of the query will be injected in it.\nIt is usefull to feed data in a excel file pre-configured with calculation' string='Excel Template' args: 'ir.attachment'
  • col_position Integer
    default=1 help='Indicate from which column the result of the query should be injected.' string='Column Position'
  • file_format Selection
    ondelete={'excel': 'set default'} selection_add=[('excel', 'Excel')]
  • header Boolean
    default=True help='Indicate if the header should be exported to the file.'
  • row_position Integer
    default=1 help='Indicate from which row the result of the query should be injected.'
  • sheet_position Integer
    default=1 help="Indicate the sheet's position of the excel template where the result of the sql query should be injected."
Public methods (4)
  • check_column_position(self)
    @api.constrains('col_position')
  • check_row_position(self)
    @api.constrains('row_position')
  • check_sheet_position(self)
    @api.constrains('sheet_position')
  • excel_get_data_from_query(self, variable_dict)
REPOSITORY
REPOSITORYOCA/reporting-engine
GIT
GIThttps://github.com/OCA/reporting-engine.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/reporting-engine/tree/15.0/sql_export_excel
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYGeneric Modules/Others
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSOCA Transbot, Weblate, OCA-git-bot, oca-ci, Maksym Yankin
WEBSITE
WEBSITEhttps://github.com/OCA/reporting-engine
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:46:42
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/reporting-engine:
    - sql_export
    - sql_request_abstract
odoo/odoo:
    - base
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES openpyxl
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
sql_export_excel_view_form sql.export field Inherits sql_export.sql_export_view_form
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (1)

New fields (6)
  • attachment_id Many2one → ir.attachment
    help='If you configure an excel file (in xlsx format) here, the result of the query will be injected in it.\nIt is usefull to feed data in a excel file pre-configured with calculation' string='Excel Template' args: 'ir.attachment'
  • col_position Integer
    default=1 help='Indicate from which column the result of the query should be injected.' string='Column Position'
  • file_format Selection
    ondelete={'excel': 'set default'} selection_add=[('excel', 'Excel')]
  • header Boolean
    default=True help='Indicate if the header should be exported to the file.'
  • row_position Integer
    default=1 help='Indicate from which row the result of the query should be injected.'
  • sheet_position Integer
    default=1 help="Indicate the sheet's position of the excel template where the result of the sql query should be injected."
Public methods (4)
  • check_column_position(self)
    @api.constrains('col_position')
  • check_row_position(self)
    @api.constrains('row_position')
  • check_sheet_position(self)
    @api.constrains('sheet_position')
  • excel_get_data_from_query(self, variable_dict)
REPOSITORY
REPOSITORYOCA/server-tools
GIT
GIThttps://github.com/OCA/server-tools.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/server-tools/tree/14.0/sql_export_excel
VERSION
VERSION 1.1.1
CATEGORY
CATEGORYGeneric Modules/Others
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSEnric Tobella, OCA Transbot, oca-travis, Weblate, OCA-git-bot, hkpatel
WEBSITE
WEBSITEhttps://github.com/OCA/server-tools
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:41:05
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/server-tools:
    - sql_export
    - sql_request_abstract
odoo/odoo:
    - base
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES openpyxl
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
sql_export_excel_view_form sql.export field Inherits sql_export.sql_export_view_form
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (1)

New fields (6)
  • attachment_id Many2one → ir.attachment
    help='If you configure an excel file (in xlsx format) here, the result of the query will be injected in it.\nIt is usefull to feed data in a excel file pre-configured with calculation' string='Excel Template' args: 'ir.attachment'
  • col_position Integer
    default=1 help='Indicate from which column the result of the query should be injected.' string='Column Position'
  • file_format Selection
    ondelete={'excel': 'set default'} selection_add=[('excel', 'Excel')]
  • header Boolean
    default=True help='Indicate if the header should be exported to the file.'
  • row_position Integer
    default=1 help='Indicate from which row the result of the query should be injected.'
  • sheet_position Integer
    default=1 help="Indicate the sheet's position of the excel template where the result of the sql query should be injected."
Public methods (4)
  • check_column_position(self)
    @api.constrains('col_position')
  • check_row_position(self)
    @api.constrains('row_position')
  • check_sheet_position(self)
    @api.constrains('sheet_position')
  • excel_get_data_from_query(self, variable_dict)
REPOSITORY
REPOSITORYOCA/server-tools
GIT
GIThttps://github.com/OCA/server-tools.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/server-tools/tree/12.0/sql_export_excel
VERSION
VERSION 1.1.1
CATEGORY
CATEGORYGeneric Modules/Others
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSSylvain LE GAL, GitHub, Florian da Costa, oca-travis, OCA-git-bot, Tom Blauwendraat
WEBSITE
WEBSITEhttps://github.com/OCA/server-tools
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:22
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/server-tools:
    - sql_export
    - sql_request_abstract
odoo/odoo:
    - base
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES openpyxl
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
sql_export_excel_view_form sql.export field Inherits sql_export.sql_export_view_form
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (1)

New fields (6)
  • attachment_id Many2one → ir.attachment
    help='If you configure an excel file (in xlsx format) here, the result of the query will be injected in it.\nIt is usefull to feed data in a excel file pre-configured with calculation' string='Excel Template' args: 'ir.attachment'
  • col_position Integer
    default=1 help='Indicate from which column the result of the query should be injected.' string='Column Position'
  • file_format Selection
    selection_add=[('excel', 'Excel')]
  • header Boolean
    default=True help='Indicate if the header should be exported to the file.'
  • row_position Integer
    default=1 help='Indicate from which row the result of the query should be injected.'
  • sheet_position Integer
    default=1 help="Indicate the sheet's position of the excel template where the result of the sql query should be injected."
Public methods (4)
  • check_column_position(self)
    @api.constrains('col_position')
  • check_row_position(self)
    @api.constrains('row_position')
  • check_sheet_position(self)
    @api.constrains('sheet_position')
  • excel_get_data_from_query(self, variable_dict)
    @api.multi
STATUS
STATUSOpen migration PR - not merged yet for this version
REPOSITORY
REPOSITORYOCA/reporting-engine
PULL REQUEST
PULL REQUEST[19.0][MIG] sql_export_excel: Migration to 19.0 (#1129)