Creación y lectura de archivos XLS
En el mundo empresarial actual, la capacidad de exportar e importar datos de manera eficiente puede marcar la diferencia entre una operación ágil y una llena de cuellos de botella. Odoo, como sistema de gestión integral, ofrece herramientas poderosas para manejar información, pero ¿sabías que la integración con archivos XLS (Excel) puede potenciar aún más su utilidad?
Carlos Blanco
7/16/20254 min read


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:
· 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.
En Exdoo podemos desarrollar cualquier módulo para Odoo en México, implementamos tu ERP con consultores experimentados no solo en Odoo sino en procesos de negocios, tenemos 10 años trabajando solamente con Odoo en México y otros países.
Exdoo TI S DE RL DE CV
10 años de experiencia en Odoo