diff --git a/excel_import_export/README.rst b/excel_import_export/README.rst new file mode 100644 index 000000000..ea1a91619 --- /dev/null +++ b/excel_import_export/README.rst @@ -0,0 +1,195 @@ +========================== +Excel Import/Export/Report +========================== + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--tools-lightgray.png?logo=github + :target: https://github.com/OCA/server-tools/tree/14.0/excel_import_export + :alt: OCA/server-tools +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-excel_import_export + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/149/14.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + +The module provide pre-built functions and wizards for developer to build excel import / export / report with ease. + +Without having to code to create excel file, developer do, + +- Create menu, action, wizard, model, view a normal Odoo development. +- Design excel template using standard Excel application, e.g., colors, fonts, formulas, etc. +- Instruct how the data will be located in Excel with simple dictionary instruction or from Odoo UI. +- Odoo will combine instruction with excel template, and result in final excel file. + +**Table of contents** + +.. contents:: + :local: + +Installation +============ + +To install this module, you need to install following python library, **xlrd, xlwt, openpyxl**. + +Then, simply install **excel_import_export**. + +For demo, install **excel_import_export_demo** + +Usage +===== + +Concepts +~~~~~~~~ + +This module contain pre-defined function and wizards to make exporting, importing and reporting easy. + +At the heart of this module, there are 2 `main methods` + +- ``self.env['xlsx.export'].export_xlsx(...)`` +- ``self.env['xlsx.import'].import_xlsx(...)`` + +For reporting, also call `export_xlsx(...)` but through following method + +- ``self.env['xslx.report'].report_xlsx(...)`` + +After install this module, go to Settings > Excel Import/Export > XLSX Templates, this is where the key component located. + +As this module provide tools, it is best to explain as use cases. For example use cases, please install **excel_import_export_demo** + +Use Cases +~~~~~~~~~ + +**Use Case 1:** Export/Import Excel on existing document + +This add export/import action menus in existing document (example - excel_import_export_demo/import_export_sale_order) + +1. Create export action menu on document, with res_model="export.xlsx.wizard" and src_model="", and context['template_domain'] to locate the right template -- actions.xml +2. Create import action menu on document, with res_model="import.xlsx.wizard" and src_model="", and context['template_domain'] to locate the right template -- action.xml +3. Create/Design Excel Template File (.xlsx), in the template, name the underlining tab used for export/import -- .xlsx +4. Create instruction dictionary for export/import in xlsx.template model -- templates.xml + +**Use Case 2:** Import Excel Files + +With menu wizard to create new documents (example - excel_import_export_demo/import_sale_orders) + +1. Create report menu with search wizard, res_model="import.xlsx.wizard" and context['template_domain'] to locate the right template -- menu_action.xml +2. Create Excel Template File (.xlsx), in the template, name the underlining tab used for import -- .xlsx +3. Create instruction dictionary for import in xlsx.template model -- templates.xml + +**Use Case 3:** Create Excel Report + +This create report menu with criteria wizard. (example - excel_import_export_demo/report_sale_order) + +1. Create report's menu, action, and add context['template_domain'] to locate the right template for this report -- .xml +2. Create report's wizard for search criteria. The view inherits ``excel_import_export.xlsx_report_view`` and mode="primary". In this view, you only need to add criteria fields, the rest will reuse from interited view -- +3. Create report model as models.Transient, then define search criteria fields, and get reporing data into ``results`` field -- .py +4. Create/Design Excel Template File (.xlsx), in the template, name the underlining tab used for report results -- .xlsx +5. Create instruction dictionary for report in xlsx.template model -- templates.xml + +**Note:** + +Another option for reporting is to use report action (report_type='excel'), I.e., + +.. code-block:: xml + + + +By using report action, Odoo will find template using combination of model and name, then do the export for the underlining record. +Please see example in excel_import_export_demo/report_action, which shows, + +1. Print excel from an active sale.order +2. Run partner list report based on search criteria. + +Easy Reporting Option +~~~~~~~~~~~~~~~~~~~~~ + +Technically, this option is the same as "Create Excel Report" use case. But instead of having to write XML / Python code like normally do, +this option allow user to create a report based on a model or view, all by configuration only. + +1. Goto > Technical> Excel Import/Export > XLSX Templates, and create a new template for a report. +2. On the new template, select "Easy Reporting" option, then select followings + - Report Model, this can be data model or data view we want to get the results from. + - Click upload your file and add the excel template (.xlsx) + - Click Save, system will create sample export line, user can add more fields according to results model. +3. Click Add Report Menu, the report menu will be created, user can change its location. Now the report is ready to use. + + .. figure:: https://raw.githubusercontent.com/OCA/server-tools/14.0/excel_import_export/static/description/xlsx_template.png + :width: 800 px + +Note: Using easy reporting mode, system will used a common criteria wizard. + + .. figure:: https://raw.githubusercontent.com/OCA/server-tools/14.0/excel_import_export/static/description/common_wizard.png + :width: 800 px + +Known issues / Roadmap +====================== + +- Module extension e.g., excel_import_export_async, that add ability to execute as async process. + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Ecosoft + +Contributors +~~~~~~~~~~~~ + +* Kitti Upariphutthiphong. (http://ecosoft.co.th) +* Saran Lim. (http://ecosoft.co.th) + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +.. |maintainer-kittiu| image:: https://github.com/kittiu.png?size=40px + :target: https://github.com/kittiu + :alt: kittiu + +Current `maintainer `__: + +|maintainer-kittiu| + +This module is part of the `OCA/server-tools `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/excel_import_export/static/description/index.html b/excel_import_export/static/description/index.html index 17eebfbfb..6d55a8f8d 100644 --- a/excel_import_export/static/description/index.html +++ b/excel_import_export/static/description/index.html @@ -367,7 +367,7 @@ ul.auto-toc { !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runbot

+

Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runbot

The module provide pre-built functions and wizards for developer to build excel import / export / report with ease.

Without having to code to create excel file, developer do,