Skip to content

Commit

Permalink
Merge pull request #72 from alb3rto269/save-virtual-workbook
Browse files Browse the repository at this point in the history
fix save_virtual_workbook deprecation/removal in openpyxl 3.1.0
  • Loading branch information
FlipperPA committed Feb 3, 2023
2 parents 2a6a429 + b8fd0bf commit 5352919
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 @@ -211,7 +212,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 5352919

Please sign in to comment.