OdooWiki OCA HUB

Excel Import/Export/Report

excel_import_export folder_open OCA/server-tools open_in_new
Tools Licencia: AGPL-3

El módulo proporciona funciones y asistentes preconstruidos para que el desarrollador cree importación / exportación / informes de Excel con facilidad.

Sin necesidad de programar para crear el archivo de Excel, el desarrollador hace,

  • Crear menú, acción, asistente, modelo, vista, un desarrollo normal de Odoo.
  • Diseñar la plantilla de Excel usando la aplicación estándar de Excel, por ejemplo, colores, fuentes, fórmulas, etc.
  • Indicar cómo se ubicarán los datos en Excel con una instrucción de diccionario simple o desde la UI de Odoo.
  • Odoo combinará la instrucción con la plantilla de Excel y dará como resultado el archivo de Excel final.

Traducción automática al español (DeepSeek) de la descripción original de OCA, que está en inglés.

auto_awesome Qué hace este módulo

Generado por IA a partir del código · Odoo 18.0

Permite a desarrolladores y administradores crear plantillas de importación, exportación e informes de Excel desde Odoo sin escribir código. Los usuarios pueden subir un archivo Excel, asignar sus celdas a campos de Odoo y luego importar o exportar datos mediante asistentes y menús.

Este es un módulo base técnico para construir funcionalidades de importación, exportación e informes basadas en Excel. No añade informes de negocio ya hechos; en su lugar, te proporciona las herramientas para crearlos.

  • Creas un registro de plantilla de Excel (xlsx.template) donde subes tu propio archivo Excel y describes, celda por celda, qué campo de Odoo va dónde. Dos pestañas, xlsx.template.import y xlsx.template.export, contienen esas asignaciones de celda a campo.
  • A partir de una plantilla puedes generar una acción de exportación, una acción de importación y un menú de informe, de modo que los usuarios finales obtienen botones y entradas de menú sin desarrollo adicional.
  • El asistente de exportación (export.xlsx.wizard) produce el archivo Excel rellenado, opcionalmente convertido a CSV, y puede comprimir varios archivos juntos.
  • El asistente de importación (import.xlsx.wizard) lee un archivo Excel subido, elimina las líneas existentes cuando es necesario, crea o actualiza registros, y puede ejecutar un hook posterior a la importación.
  • Un asistente de informe genérico (report.xlsx.wizard) permite a los usuarios elegir criterios de búsqueda y descargar el resultado.
  • Los informes de Excel se añaden como un nuevo tipo de informe en ir.actions.report, de modo que un informe se puede imprimir directamente a Excel.
  • Se admite el estilo mediante directivas simples para fuentes, rellenos, alineación y formatos de número, y las fórmulas se pueden ajustar cuando se extienden las filas.

Todo aparece bajo el menú Excel Import/Export en el área de ajustes/personalización de Odoo, con la lista XLSX Templates como pantalla principal.

Depende de

mail

Menús que añade

Excel Import/Exportmenu_xlsx_template
Modelos y campos (11)
  • xlsx.export · modelo nuevo
  • xlsx.import · modelo nuevo
  • xlsx.report · modelo nuevodata (File), name (File Name), state, template_id (Template), choose_template (Allow Choose Template)
  • xlsx.styles · modelo nuevo
  • xlsx.template · modelo nuevoname (Template Name), datas (File Content), fname (File Name), gname (Group Name), to_csv (Convert to CSV?), csv_quote (CSV Quoting), res_model (Resource Model), export_ids, import_ids, description, instruction, result_field, csv_delimiter (CSV Delimiter), csv_extension (CSV File Extension), report_menu_id (Report Menu), redirect_action (Return Action), result_model_id (Report Model), export_action_id, import_action_id, post_import_hook (Post Import Function Hook), report_action_id (Report Action), show_instruction (Show Output), input_instruction (Instruction (Input)), use_report_wizard (Easy Reporting)
  • ir.actions.report · amplía un modelo existentereport_type
  • export.xlsx.wizard · modelo nuevodata (File), name (File Name), state, res_ids (Resource IDs), res_model (Resource Model), template_id (Template)
  • import.xlsx.wizard · modelo nuevodatas (Sample), fname (Template Name), state, res_id (Resource ID), filename (Import File Name), res_model (Resource Model), import_file (Import File (*.xlsx)), template_id (Template), attachment_ids (Import File(s) (*.xlsx))
  • report.xlsx.wizard · modelo nuevodomain (Search Criterias), res_model
  • xlsx.template.export · modelo nuevosheet, style (Default Style), is_sum (Sum), is_cont (Continue), sequence, is_extend (Extend), row_field, excel_cell (Cell), field_cond (Field Cond.), field_name (Field), style_cond (Style w/Cond.), template_id (XLSX Template), section_type
  • xlsx.template.import · modelo nuevosheet, sequence, no_delete, row_field, excel_cell (Cell), field_cond (Field Cond.), field_name (Field), template_id (XLSX Template), section_type

Texto generado por IA (DeepSeek) al leer el código de la versión 18.0 en GitHub; puede contener errores, así que verifícalo en el código antes de decidir. El módulo es muy grande y solo se ha leído una parte del código. Ver el código en GitHub

Disponibilidad por versión

Revisado: 2026-11-03
Confirmado (verificado en repositorio y rama) Estimado (sin verificar) Sin información

Estado de confirmación: 6 confirmadas, 3 sin información de 9 versiones.

Fuentes · Odoo 18.0

Confirmado el 2026-11-03 en la rama 18.0 de OCA/server-tools.

terminal Instalación y uso

Documentación de OCA · Odoo 18.0

Para instalar este módulo, necesita instalar las siguientes librerías de python, xlrd, xlwt, openpyxl.

Después, simplemente instale excel_import_export.

Para la demo, instale excel_import_export_demo

Si tiene plantillas existentes de la versión 16.0.1.2.0 o anterior, debe hacer clic en 'REMOVE EXPORT ACTION' y luego en 'ADD EXPORT ACTION' en estas plantillas para que las acciones de exportación funcionen como se espera.

Conceptos

Este módulo contiene funciones y asistentes predefinidos para facilitar la exportación, importación y generación de informes.

En el núcleo de este módulo, hay 2 métodos principales

  • self.env['xlsx.export'].export_xlsx(...)
  • self.env['xlsx.import'].import_xlsx(...)

Para la generación de informes, también se llama a export_xlsx(...) pero a través del siguiente método

  • self.env['xslx.report'].report_xlsx(...)

Después de instalar este módulo, vaya a Settings \> Technical \> Excel Import/Export \> XLSX Templates, aquí es donde se encuentra el componente clave.

Como este módulo proporciona herramientas, lo mejor es explicarlo como casos de uso. Para ver ejemplos de casos de uso, instale excel_import_export_demo

Casos de uso

Caso de uso 1: Exportar/Importar Excel en un documento existente

Esto añade menús de acción de exportación/importación en un documento existente (ejemplo - excel_import_export_demo/import_export_sale_order)

  • Cree el menú de acción de exportación en el documento, \ con res_model="export.xlsx.wizard" y src_model="\", y context['template_domain'] para localizar la plantilla correcta -- actions.xml
  • Cree el menú de acción de importación en el documento, \ con res_model="import.xlsx.wizard" y src_model="\", y context['template_domain'] para localizar la plantilla correcta -- action.xml
  • Cree/Diseñe el archivo de plantilla Excel (.xlsx), en la plantilla, nombre la pestaña subrayada utilizada para exportar/importar -- \.xlsx
  • Cree el diccionario de instrucciones para exportar/importar en el modelo xlsx.template -- templates.xml

Caso de uso 2: Importar archivos Excel

Con el asistente de menú para crear nuevos documentos (ejemplo - excel_import_export_demo/import_sale_orders)

  • Cree el menú de informe con el asistente de búsqueda, res_model="import.xlsx.wizard" y context['template_domain'] para localizar la plantilla correcta -- menu_action.xml
  • Cree el archivo de plantilla Excel (.xlsx), en la plantilla, nombre la pestaña subrayada utilizada para importar -- \.xlsx
  • Cree el diccionario de instrucciones para importar en el modelo xlsx.template -- templates.xml

Caso de uso 3: Crear un informe Excel

Esto crea el menú de informe con el asistente de criterios. (ejemplo - excel_import_export_demo/report_sale_order)

  • Cree el menú del informe, la acción, y añada context['template_domain'] para localizar la plantilla correcta para este informe -- \.xml
  • Cree el asistente del informe para los criterios de búsqueda. La vista hereda de excel_import_export.xlsx_report_view y mode="primary". En esta vista, solo necesita añadir los campos de criterios, el resto se reutilizará de la vista heredada -- \
  • Cree el modelo del informe como models.Transient, luego defina los campos de criterios de búsqueda, y obtenga los datos del informe en el campo results -- \.py
  • Cree/Diseñe el archivo de plantilla Excel (.xlsx), en la plantilla, nombre la pestaña subrayada utilizada para los resultados del informe -- \.xlsx
  • Cree el diccionario de instrucciones para el informe en el modelo xlsx.template -- templates.xml

Nota:

Otra opción para la generación de informes es usar la acción de informe (report_type='excel'), es decir,

<record id="action_report_saleorder_excel" model="ir.actions.report">
        <field name="name">Quotation / Order (.xlsx)</field>
        <field name="model">ir.model</field>
        <field name="report_name">'sale.order'</field>
        <field name="report_file">'sale.order'</field>
        <field name="binding_model_id" ref="sale.model_sale_order"/>
        <field name="binding_type">report</field>
        <field name="report_type">excel</field>
</record>

Al usar la acción de informe, Odoo encontrará la plantilla usando la combinación de modelo y nombre, luego hará la exportación para el registro subrayado. Consulte el ejemplo en excel_import_export_demo/report_action, que muestra,

  • Imprimir Excel desde un sale.order activo
  • Ejecutar el informe de lista de contactos basado en criterios de búsqueda.

Opción de informes fácil

Técnicamente, esta opción es la misma que el caso de uso "Crear un informe Excel". Pero en lugar de tener que escribir código XML / Python como se hace normalmente, esta opción permite al usuario crear un informe basado en un modelo o vista, todo solo mediante configuración.

  • Vaya a Settings \> Technical\> Excel Import/Export \> XLSX Templates, y cree una nueva plantilla para un informe.
  • En la nueva plantilla, seleccione la opción "Easy Reporting", luego seleccione lo siguiente
  • Report Model, este puede ser el modelo de datos o la vista de datos de la que queremos obtener los resultados.
  • Haga clic en subir su archivo y añada la plantilla de Excel (.xlsx)
  • Haga clic en Save, el sistema creará una línea de exportación de ejemplo, el usuario puede añadir más campos según el modelo de resultados.
  • Haga clic en Add Report Menu, se creará el menú del informe, el usuario puede cambiar su ubicación. Ahora el informe está listo para usarse.

>

Nota: Al usar el modo de informes fácil, el sistema utilizará un asistente de criterios común.

>

Traducción automática al español (DeepSeek) de la documentación original de OCA; los comandos y el código no se traducen.

info

Datos importados de GitHub: esta ficha refleja la última revisión del catálogo, no una consulta en directo. Verifica siempre en la documentación del módulo y en staging antes de instalar en producción.