mirror of
https://github.com/pretix/pretix.git
synced 2026-05-07 15:34:02 +00:00
Exporters: Allow extended XSLX formatting
This commit is contained in:
@@ -47,12 +47,15 @@ from django.db.models import QuerySet
|
|||||||
from django.utils.formats import localize
|
from django.utils.formats import localize
|
||||||
from django.utils.translation import gettext, gettext_lazy as _
|
from django.utils.translation import gettext, gettext_lazy as _
|
||||||
from openpyxl import Workbook
|
from openpyxl import Workbook
|
||||||
from openpyxl.cell.cell import ILLEGAL_CHARACTERS_RE, KNOWN_TYPES
|
from openpyxl.cell.cell import ILLEGAL_CHARACTERS_RE, KNOWN_TYPES, Cell
|
||||||
|
|
||||||
from pretix.base.models import Event
|
from pretix.base.models import Event
|
||||||
|
|
||||||
|
|
||||||
def excel_safe(val):
|
def excel_safe(val):
|
||||||
|
if isinstance(val, Cell):
|
||||||
|
return val
|
||||||
|
|
||||||
if not isinstance(val, KNOWN_TYPES):
|
if not isinstance(val, KNOWN_TYPES):
|
||||||
val = str(val)
|
val = str(val)
|
||||||
|
|
||||||
@@ -221,9 +224,13 @@ class ListExporter(BaseExporter):
|
|||||||
writer.writerow(line)
|
writer.writerow(line)
|
||||||
return self.get_filename() + '.csv', 'text/csv', output.getvalue().encode("utf-8")
|
return self.get_filename() + '.csv', 'text/csv', output.getvalue().encode("utf-8")
|
||||||
|
|
||||||
|
def prepare_xlsx_sheet(self, ws):
|
||||||
|
pass
|
||||||
|
|
||||||
def _render_xlsx(self, form_data, output_file=None):
|
def _render_xlsx(self, form_data, output_file=None):
|
||||||
wb = Workbook(write_only=True)
|
wb = Workbook(write_only=True)
|
||||||
ws = wb.create_sheet()
|
ws = wb.create_sheet()
|
||||||
|
self.prepare_xlsx_sheet(ws)
|
||||||
try:
|
try:
|
||||||
ws.title = str(self.verbose_name)
|
ws.title = str(self.verbose_name)
|
||||||
except:
|
except:
|
||||||
|
|||||||
Reference in New Issue
Block a user