From 868f871aa9b0483f0b55c4c7cf77c4cf581ddc8e Mon Sep 17 00:00:00 2001 From: Liu Tao Date: Thu, 8 Aug 2019 17:36:39 +0800 Subject: [PATCH 1/2] add set_range_style by a simple way --- pyexcelerate/Worksheet.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pyexcelerate/Worksheet.py b/pyexcelerate/Worksheet.py index bc911b6..06fb4d9 100644 --- a/pyexcelerate/Worksheet.py +++ b/pyexcelerate/Worksheet.py @@ -142,6 +142,10 @@ def set_cell_style(self, x, y, value): self._parent.add_style(value) if self.get_cell_value(x, y) is None: self.set_cell_value(x, y, '') + + def set_range_style(self, start, end, value): + for cell in Range.Range(start, end, self: + self.set_cell_style(*cell.coordinate, value) def get_row_style(self, row): if row not in self._row_styles: From 731ed890bd22f12231aca282852c7b56272d7d57 Mon Sep 17 00:00:00 2001 From: Liu Tao Date: Thu, 8 Aug 2019 18:27:06 +0800 Subject: [PATCH 2/2] optimize function set_range_style --- pyexcelerate/Worksheet.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/pyexcelerate/Worksheet.py b/pyexcelerate/Worksheet.py index 06fb4d9..f7262c1 100644 --- a/pyexcelerate/Worksheet.py +++ b/pyexcelerate/Worksheet.py @@ -144,8 +144,16 @@ def set_cell_style(self, x, y, value): self.set_cell_value(x, y, '') def set_range_style(self, start, end, value): - for cell in Range.Range(start, end, self: - self.set_cell_style(*cell.coordinate, value) + _range = Range.Range(start, end, self) + margin_row = _range._start[0], _range._end[0] + margin_col = _range._start[1], _range._end[1] + + if value._borders is not None: + for cell in _range: + r, c = cell.coordinate + if r in margin_row or c in margin_col: + self.set_cell_style(r, c, Style.Style(borders=value._borders)) + self.set_cell_style(*_range._start, value) def get_row_style(self, row): if row not in self._row_styles: