Skip to content

Instantly share code, notes, and snippets.

@Dimitrionian
Created May 15, 2020 21:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Dimitrionian/e9ee4b0ed8c5c0e5d8d07e92e1d3e015 to your computer and use it in GitHub Desktop.
Save Dimitrionian/e9ee4b0ed8c5c0e5d8d07e92e1d3e015 to your computer and use it in GitHub Desktop.
Base tablib excel format modification to allow creating multiple excel tabs, in this case two tabs. Tablib library doesn't allow this out of the box
class ModifiedTablibFormat(TablibFormat):
def export_data(self, dataset, **kwargs):
return self.export_set(dataset, **kwargs)
def export_set(self, dataset, freeze_panes=True):
"""
Returns XLSX representation of Dataset.
"""
wb = Workbook()
order_sheet = wb.worksheets[0]
order_sheet.title = 'Order list'
order_dataset = dataset.pop(0)
dset_sheet(order_dataset, order_sheet, freeze_panes=freeze_panes)
customer_sheet = wb.create_sheet('Customer list')
customer_dataset = dataset.pop()
dset_sheet(customer_dataset, customer_sheet, freeze_panes=freeze_panes)
stream = BytesIO()
wb.save(stream)
return stream.getvalue()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment