Skip to content

Commit

Permalink
fix save_virtual_workbook deprecation in openpyxl
Browse files Browse the repository at this point in the history
  • Loading branch information
alb3rto269 committed Feb 1, 2023
1 parent 87ddcb4 commit b8fd0bf
Showing 1 changed file with 13 additions and 2 deletions.
15 changes: 13 additions & 2 deletions drf_excel/renderers.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
import json
from collections.abc import Iterable, MutableMapping
from tempfile import NamedTemporaryFile
from typing import Dict

from openpyxl import Workbook
from openpyxl.drawing.image import Image
from openpyxl.styles import PatternFill
from openpyxl.utils import get_column_letter
from openpyxl.worksheet.views import SheetView
from openpyxl.writer.excel import save_virtual_workbook
from openpyxl.writer.excel import save_workbook
from rest_framework.fields import (
BooleanField,
DateField,
Expand Down Expand Up @@ -213,7 +214,17 @@ def render(self, data, accepted_media_type=None, renderer_context=None):
self.sheet_view_options = get_attribute(drf_view, "sheet_view_options", dict())
self.ws.views.sheetView[0] = SheetView(**self.sheet_view_options)

return save_virtual_workbook(wb)
return self._save_virtual_workbook(wb)

def _save_virtual_workbook(self, wb):
tmp = NamedTemporaryFile()
save_workbook(wb, tmp.name)

tmp.seek(0)
virtual_workbook = tmp.read()
tmp.close()

return virtual_workbook

def _check_validation_data(self, data):
detail_key = "detail"
Expand Down

0 comments on commit b8fd0bf

Please sign in to comment.