Availability |
Odoo Online
Odoo.sh
On Premise
|
Lines of code | 141 |
Technical Name |
web_sql_to_report |
License | AGPL-3 |
Website | https://www.linkedin.com/in/nagara-liong-50ab07136/ |
Versions | 8.0 10.0 14.0 17.0 18.0 |
Web SQL to Report
Auto generate xlsx report from query result or 'list of dictionary' data.
Return XLSX Report from the given 'List of Dictionary' data.
List Of Params :
- report_name: File name of the report before given datetime at the end of it.
- data: Data with 'List of Dictionary' type, the key will be Header and the value will be inserted into each row.
- start_date: For report title, if this param is filled, title will be generated above header.
- end_date: For report title, start_date must be filled to show end_date. End date will be shown after start_date.
- header: Enable/Disable header (title) option. Header text will be generated from data keys. Underscores '_' will be replaced with spaces and will capitalize unless all words are uppercase.
- header_color: Color of the header. The default will be yellow (#FFFF00).
- capitalize: Enable/Disable auto capitalization for header text.
- numbering: Enable/Disable numbering. Numbers will be generated in the first column. The default will be True.
- auto_filter: Enable/Disable auto filter. 'Auto Filter' will filter the first row. The default will be True; however, this only activates when the header parameter is true.
- freeze_panes: Enable/Disable freeze panes. Freezes the first column. The default will be True; however, this only activates when the header parameter is true.
- freeze_panes_column: Freeze column from the given integer (starting from 0). The default will be 0; however, this only activates when the header & freeze_panes parameters are true.
- bottom_remark: Enable/Disable remark. Gives a remark at the bottom of the workbook. The remark contains the downloader's name & download date.
Return :
XLSX file of the generated report.
Usage Example :
1. Code
def generate_report(self): # Example : get data query = " SELECT * from res_partner limit 10" self.env.cr.execute(query) my_report_data = self.env.cr.dictfetchall() # Generate report return self.env['web.report'].generate_report('My Report Name', my_report_data)
2. From VS Code
Result Example :

Contact :
nagara987@gmail.com
Please log in to comment on this module