如何生成客户的excel报表?



OP询问如何基于此代码为客户生成excel报表:


class customer(models.Model):
name = models.CharField(max_length=50)

class info(models.Model):
email = models.EmailField(max_length=250)
phone_number = models.CharField(max_length=10, blank=False, null=False, unique=True)
name = models.ForeignKey(customer,on_delete=models.CASCADE)

class detail(models.Model):
proof = models.ForeignKey(customer,on_delete=models.CASCADE)
aadhar = models.ImageField(upload_to='images/', height_field=None, width_field=None, max_length=100,default=True)

您可以使用Tablib之类的东西来完成。https://tablib.readthedocs.io/en/stable/。实际上也有一个django包:https://github.com/joshourisman/django-tablib

的例子:

data = tablib.Dataset(headers=['name'])
for d in customer.objects.values('name'):
data.append(name)
data.export('xlsx') # this will output the excel file 

你可以使用django.http.FileResponse()类将它从视图发送回用户。

最新更新