Saltar al contenido

Creación y lectura de archivos XLS

📘 ARTÍCULO TÉCNICO

Los archivos de Excel (XLS/XLSX) son un estándar universal en el análisis y gestión de datos, gracias a su compatibilidad, flexibilidad y facilidad de uso. Cuando combinas esta capacidad con Odoo, obtienes beneficios clave como:

📘 ARTÍCULO TÉCNICO

· Automatización de reportes (ventas, inventario, contabilidad)

· Intercambio de datos simplificado con clientes, proveedores y otros sistemas.

· Migración y actualización masiva de información sin errores manuales.

· Personalización avanzada de documentos comerciales (cotizaciones, órdenes de compra, facturas)

·Integración con procesos existentes que ya dependen de Excel.

En este artículo, exploraremos cómo generar archivos XLS directamente desde Odoo, tomando como ejemplo un módulo que exporta automáticamente los datos de una orden de venta (cliente, número de pedido, fecha y líneas de productos) y los adjunta al documento; además, mostraremos cómo crear un asistente para leer un archivo XLS y, con base en él, crear las líneas de venta con los datos de los productos que contenga.

Para realizar este ejemplo utilizaremos la librería xlwt (https://pypi.org/project/xlwt/); se puede consultar su documentación para una mayor comprensión y uso de esta librería.

Agregaremos 2 botones en el formulario de ventas, uno para crear el archivo XLSX y otro para leerlo y crear las líneas de productos en la venta.

Comenzaremos importando la librería xlwt

Crearemos el libro, la página y asignamos estilos.

Para dar formato tanto a la celda como al contenido, usaremos 2 métodos, easyxf y XFStyle.

easyxf

Para darle el formato necesitado, tanto en contenido como en la celda, establecen diferentes atributos agregados al método, donde podremos indicar el tamaño de letra, el tipo de letra, color, contorno de celda, etc.

XFStyle

También es posible crear estilos con XFStyle de la siguiente manera, utilizando cada uno de los atributos que se contienen dentro de xlwt, como Font, Alignment, Borders, Pattern, etc.

Es posible ajustar el ancho de una columna con el atributo width, indicando la columna a modificar.

Para escribir dentro del archivo, se escribe por celda utilizando el método write, indicando la fila y columna donde se quiere escribir, así también el estilo que se le quiere dar. Este método recibe write(fila, columna, contenido, estilo).

Así se mostraría el resultado en el archivo Excel con la fecha de la venta y el estilo de formato de fecha.

Ahora agregaremos la tabla con los productos de la venta.


Iteramos las líneas de venta para obtener la información necearía para agregar al archivo XLS

Así es como se mostraría nuestro archivo exportando los datos a un XLS.

Utilizando el archivo que generamos, vamos a crear un asistente para leer este formato y crearemos las líneas de la venta.

Creamos un asistente agregando como campo el Id de la venta (sale_id) y el campo binario para cargar el archivo (spreadsheet_file).

Agregamos una acción para leer el archivo y cargar las líneas desde el XLS. Usando el método row_values(row), obtenemos todos los datos del número de fila enviado como parámetro.

El asistente queda de la siguiente manera.


Al cargar el archivo, creará las líneas dentro de la venta.

Hemos llegado al final del desarrollo de nuestro módulo para generar y leer archivos XLS en Odoo v18, una solución que puede transformar la manera en que gestionas datos, compartes información y optimizas procesos comerciales.

Si tiene dudas, no dude en ponerse en contacto con nosotros a través del correo: info@exdoo.mx.

¿Te gustaría implementar Odoo en tu empresa?

12 años de experiencia · +60 implementaciones exitosas · Partner Gold de Odoo en México

Hablemos por WhatsApp