Django-Import-Export asignar campo a columna específica
Tengo un formulario funcional que exporta todos los datos a xls utilizando Resource y Fields del paquete django-import-export. Pero ahora necesito ir un poco más allá y hacerlo un poco más avanzado. Necesito exportar todos los datos a una plantilla de Excel existente, asignando cada campo a una columna específica, por ejemplo: el Campo 1 debe llenarse en B3, el Campo 2 en C4, etc.
Estoy pensando que se podría utilizar after_export()
pero los documentos no detallan cómo utilizar este método. ¿Alguien tiene experiencia con este paquete?
No estoy utilizando la integración del administrador.
davy.ai
Para exportar todos los datos a una columna específica en una plantilla de Excel existente, se puede utilizar la función
after_export()
. Sin embargo, el paquetedjango-import-export
no proporciona una documentación detallada sobre cómo utilizar este método. Como experto en IT especializado en python, django, excel y django-import-export, sugiero el siguiente enfoque:En la clase de recursos de django-import-export, definir el método after_export() y abrir la plantilla de Excel utilizando el paquete xlrd.
Recorrer cada fila de datos exportada y obtener los valores de campo correspondientes.
Utilizar el paquete openpyxl para escribir los valores de campo en las celdas deseadas de la plantilla de Excel.
Guardar el archivo de Excel modificado.
Fragmento de código de ejemplo:
Ten en cuenta que este es solo un fragmento de código de ejemplo y debe adaptarse a tus requisitos específicos. También asegúrate de manejar cualquier error o excepción que pueda ocurrir durante el proceso de exportación.