first push message

This commit is contained in:
2026-07-01 14:41:49 +07:00
parent 6667dec2bf
commit 58b5f46cc4
2951 changed files with 316619 additions and 0 deletions
+11
View File
@@ -0,0 +1,11 @@
- Adrien Peiffer \<<adrien.peiffer@acsone.eu>\>
- Sébastien Alix \<<sebastien.alix@osiell.com>\>
- Stéphane Bidoul \<<stephane.bidoul@acsone.eu>\>
- Enric Tobella \<<etobella@creublanca.es>\>
- Graeme Gellatly \<<gdgellatly@gmail.com>\>
- Cristian Salamea \<<cs@prisehub.com>\>
- Rod Schouteden \<<rod.schouteden@dynapps.be>\>
- Eugene Molotov \<<molotov@it-projects.info>\>
- Christopher Ormaza \<<chris.ormaza@forgeflow.com>\>
- Houzéfa Abbasbhay \<<houzefa.abba@xcg-consulting.fr>\>
- Le Dinh Tien \<<tien-ld@komit-consulting.com>\>
+1
View File
@@ -0,0 +1 @@
This module provides a basic report class to generate xlsx report.
+7
View File
@@ -0,0 +1,7 @@
Make sure you have `xlsxwriter` Python module installed:
$ pip3 install xlsxwriter
For testing it is also necessary `xlrd` Python module installed:
$ pip3 install xlrd
+34
View File
@@ -0,0 +1,34 @@
An example of XLSX report for partners on a module called
\`module_name\`:
A python class :
from odoo import models
class PartnerXlsx(models.AbstractModel):
_name = 'report.module_name.report_name'
_inherit = 'report.report_xlsx.abstract'
def generate_xlsx_report(self, workbook, data, partners):
for obj in partners:
report_name = obj.name
# One sheet by partner
sheet = workbook.add_worksheet(report_name[:31])
bold = workbook.add_format({'bold': True})
sheet.write(0, 0, obj.name, bold)
To manipulate the `workbook` and `sheet` objects, refer to the
[documentation](http://xlsxwriter.readthedocs.org/) of `xlsxwriter`.
A report XML record :
<record id="action_report_partner_xlsx" model="ir.actions.report">
<field name="name">Print to XLSX</field>
<field name="model">res.partner</field>
<field name="report_type">xlsx</field>
<field name="report_name">module_name.report_name</field>
<field name="report_file">module_name.report_file</field>
<field name="binding_model_id" ref="res.partner"/>
<field name="binding_type">report</field>
<field name="attachment_use" eval="False"/>
</record>