Common function when working with excel.
Install django-excel-tools
pip install django-excel-tools
Class declaration
from django_excel_tools import serializers
class OrderExcelSerializer(serializers.ExcelSerializers):
REGION_CHOICES = ('Central', 'North', 'East', 'West', 'South')
product_name = serializers.CharField(max_length=100, verbose_name='Product Name')
quantity = serializers.IntegerField(verbose_name='Quantity', blank=True, default=0)
price = serializers.IntegerField(verbose_name='Price')
region = serializers.CharField(max_length=10, verbose_name='Region', choices=REGION_CHOICES)
transaction_date = serializers.DateField(date_format='%Y-%m-%d', date_format_verbose='YYYY-MM-DD',
verbose_name='Transaction Date')
class Meta:
start_index = 1
fields = ('product_name', 'quantity', 'price', 'region', 'transaction_date')
Class initialization
from openpyxl import load_workbook
def import_order():
workbook = load_workbook(file) # Create workbook from file. Used openpyxl
worksheet = workbook.worksheets[0]
serializer = OrderExcelSerializer(worksheet=worksheet, **kwargs)
This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.