Django package to easily render Excel spreadsheets
Project description
A subclass of HttpResponse which will transform a QuerySet, or sequence of sequences, into either an Excel spreadsheet or CSV file formatted for Excel, depending on the amount of data.
Installation
pip install django-excel-response
Provided Classes
excel_response.response.ExcelResponse
Accepted arguments:
data - A queryset or list of lists from which to construct the output
output_filename - The filename which should be suggested in the http response, minus the file extension (default: excel_data)
worksheet_name - The name of the worksheet inside the spreadsheet into which the data will be inserted (default: None)
force_csv - A boolean stating whether to force CSV output (default: False)
header_font - The font to be applied to the header row of the spreadsheet; must be an instance of openpyxl.styles.Font (default: None)
data_font - The font to be applied to all data cells in the spreadsheet; must be an instance of openpyxl.styles.Font (default: None)
excel_response.views.ExcelMixin
excel_response.views.ExcelView
Examples
Function-based views
You can construct your data from a queryset.
from excel_response import ExcelResponse
def excelview(request):
objs = SomeModel.objects.all()
return ExcelResponse(objs)
Or you can construct your data manually.
from excel_response import ExcelResponse
def excelview(request):
data = [
['Column 1', 'Column 2'],
[1,2]
[23,67]
]
return ExcelResponse(data, 'my_data')
Class-based views
These are as simple as import and go!
from excel_response import ExcelView
class ModelExportView(ExcelView):
model = SomeModel
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for django-excel-response-2.0.5.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1e432c6e10272dcc9795a0f475d97d3cc7a96299b2d5cd97bdf812bbff934d7c |
|
MD5 | 2d6167553f3d6cb2752382e18c90ff6f |
|
BLAKE2b-256 | d1daf254e4e370b555126e6a78364d056beafcd92fe4bb06255f0aa52f832ba1 |