Skip to content
This repository was archived by the owner on Dec 11, 2023. It is now read-only.

Commit edc1e91

Browse files
author
clittle
committed
Added merge border lines, text color adjustment
1 parent b9e6db3 commit edc1e91

2 files changed

Lines changed: 17 additions & 0 deletions

File tree

layers/exporters/excel_templates.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,9 +78,20 @@ def _build_raw(self, showName=True, showID=False, sort=0, scores=[], subtechs=[]
7878
for col, value in dims.items():
7979
sheet_handle.column_dimensions[col].width = value
8080

81+
merge_border_thickness = 'thin'
82+
merge_template_l = Border(bottom=Side(border_style=merge_border_thickness),
83+
left=Side(border_style=merge_border_thickness),
84+
top=Side(border_style=merge_border_thickness))
85+
merge_template_r = Border(bottom=Side(border_style=merge_border_thickness),
86+
right=Side(border_style=merge_border_thickness),
87+
top=Side(border_style=merge_border_thickness))
88+
8189
for marker in joins:
8290
sheet_handle.merge_cells(start_row=marker[0], start_column=marker[1], end_row=marker[0] + marker[2] - 1,
8391
end_column=marker[1])
92+
for block in range(marker[0], marker[0] + marker[2]):
93+
sheet_handle[block][marker[1]].border = merge_template_r
94+
sheet_handle[block][marker[0] + 1].border = merge_template_l
8495
sheet_handle.merge_cells(start_row=1, start_column=marker[1], end_row=1, end_column=marker[1] + 1)
8596
adjust = sheet_handle.cell(row=marker[0], column=marker[1])
8697
adjust.alignment = Alignment(vertical='top')

layers/exporters/to_excel.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from openpyxl.comments import Comment
22
from openpyxl.styles import PatternFill, Font
3+
import colorsys
34

45
try:
56
from core import Layer
@@ -115,4 +116,9 @@ def to_xlsx(self, layer, filepath="layer.xlsx"):
115116
comp_color = layer.layer.gradient.compute_color(tech.score)
116117
c_color = PatternFill(fill_type='solid', start_color=comp_color.upper()[1:])
117118
cell.fill = c_color
119+
RGB = tuple(int(comp_color.upper()[1:][i:i+2], 16) for i in (0, 2, 4))
120+
hls = colorsys.rgb_to_hls(RGB[0], RGB[1], RGB[2])
121+
if hls[1] < 127.5:
122+
white = Font(color='FFFFFF')
123+
cell.font = white
118124
raw_template.save(filepath)

0 commit comments

Comments
 (0)