Django Excel: Exportación e Importación de Datos en Excel con Django
Django es un framework web de Python que proporciona una amplia gama de funciones para el desarrollo de aplicaciones web. Una de estas funciones es la capacidad de exportar e importar datos a formatos de archivo comunes, como CSV y Excel.
En este tutorial, veremos cómo exportar e importar datos en Excel con Django.
Requisitos
Para seguir este tutorial, necesitarás:
- Una instalación de Python 3
- Django instalado
- Un editor de código
Instalación de la librería django-import-export
Para exportar e importar datos en Excel con Django, utilizaremos la librería django-import-export. Esta librería proporciona una forma sencilla de exportar e importar datos de modelos de Django a formatos de archivo comunes.
Para instalar la librería, ejecuta el siguiente comando en tu terminal:
pip install django-import-export
Creando un proyecto Django
Para comenzar, crearemos un nuevo proyecto Django.
django-admin startproject my_project
Activando la librería django-import-export
Para activar la librería django-import-export, agrega la siguiente línea a tu archivo settings.py
:
INSTALLED_APPS = [
...
'import_export',
]
Creando un modelo
Para exportar e importar datos, primero necesitamos crear un modelo de Django. Este modelo definirá la estructura de los datos que queremos exportar o importar.
En este ejemplo, crearemos un modelo llamado Producto
:
# models.py
from django.db import models
class Producto(models.Model):
nombre = models.CharField(max_length=255)
precio = models.DecimalField(max_digits=10, decimal_places=2)
def __str__(self):
return self.nombre
Migrando el modelo
Una vez que hemos creado nuestro modelo, necesitamos migrar los cambios a nuestra base de datos. Para ello, ejecutamos los siguientes comandos:
python manage.py makemigrations
python manage.py migrate
Creando un recurso de exportación
Un recurso de exportación es un objeto que define cómo exportar datos de un modelo de Django. Para crear un recurso de exportación, creamos una clase que hereda de ImportExportModelResource
.
En este ejemplo, crearemos un recurso de exportación llamado ProductoResource
:
# resources.py
from import_export import resources
class ProductoResource(resources.ModelResource):
class Meta:
model = Producto
fields = ('nombre', 'precio')
Registrando el recurso de exportación
Para registrar el recurso de exportación, agregamos la siguiente línea a nuestro archivo admin.py
:
# admin.py
from .resources import ProductoResource
admin.site.register(Producto, ProductoResource)
Exportando datos
Ahora que hemos creado un recurso de exportación, podemos exportar datos de nuestro modelo.
Para exportar datos, podemos usar la función export_to_excel()
. Esta función toma como argumentos el nombre del archivo de salida y el recurso de exportación.
En este ejemplo, exportaremos los datos de nuestro modelo a un archivo llamado productos.xlsx
:
python manage.py export_to_excel productos.xlsx ProductoResource
Esto creará un archivo llamado productos.xlsx
que contiene los datos de nuestro modelo.
Importando datos
Para importar datos a nuestro modelo, podemos usar la función import_from_excel()
. Esta función toma como argumentos el archivo de entrada y el recurso de exportación.
En este ejemplo, importaremos los datos de un archivo llamado productos.xlsx
:
python manage.py import_from_excel productos.xlsx ProductoResource
Esto importará los datos del archivo productos.xlsx
a nuestro modelo.
Resumen
En este tutorial, hemos visto cómo exportar e importar datos en Excel con Django.
Para exportar datos, utilizamos la función export_to_excel()
. Esta función toma como argumentos el nombre del archivo de salida y el recurso de exportación.
Para importar datos, utilizamos la función import_from_excel()
. Esta función toma como argumentos el archivo de entrada y el recurso de exportación.
Para obtener más información sobre la exportación e