Named Style overwriting previous Named Style
Not sure if this is me doing something wrongly or not understanding the documentation or actually a bug? Here is a code example to reproduce the issue i'm having: [xlsx_style_issue.py]: ```python import openpyxl def configure_style(wb): fontsize = 12 highlightcolour = 'e34409' stylea = openpyxl.styles.NamedStyle(name="StyleA") stylea.font.name = 'Arial' stylea.font.size = fontsize*2 wb.add_named_style(stylea) print("Checkpoint 1: StyleA:", stylea.name, stylea.font.name, stylea.font.size, stylea.alignment.horizontal, stylea.font.color) # According to the documentation here: # https://openpyxl.readthedocs.io/en/stable/styles.html#creating-a-named-style # this next line should create styleb as a new NamedStyle object? styleb = openpyxl.styles.NamedStyle(name="StyleB") styleb.font.name = 'Times New Roman' styleb.font.size = fontsize styleb.font.color = highlightcolour wb.add_named_style(styleb) print("Checkpoint 2: StyleB:", styleb.name, styleb.font.name, styleb.font.size, styleb.alignment.horizontal, styleb.font.color) print("Checkpoint 3: StyleA:", stylea.name, stylea.font.name, stylea.font.size, stylea.alignment.horizontal, stylea.font.color) def create_xlsx(): mywb = openpyxl.Workbook() configure_style(mywb) ws = mywb.active styleacell = ws.cell(column=2, row=3, value="This should be Arial 24 & black (default colour)") styleacell.style = "StyleA" stylebcell = ws.cell(column=2, row=5, value="This should be Times New Roman 12 & Orange") stylebcell.style = "StyleB" mywb.save("xlsx_style_issue.xlsx") create_xlsx() ``` The print() outputs shows the issue is occurring in configure_style() ```python Checkpoint 1: StyleA: StyleA Arial 24.0 None None Checkpoint 2: StyleB: StyleB Times New Roman 12.0 None <openpyxl.styles.colors.Color object> Parameters: rgb='00e34409', indexed=None, auto=None, theme=None, tint=0.0, type='rgb' Checkpoint 3: StyleA: StyleA Times New Roman 12.0 None <openpyxl.styles.colors.Color object> Parameters: rgb='00e34409', indexed=None, auto=None, theme=None, tint=0.0, type='rgb' ``` **Expected**: Checkpoint 3 and Checkpoint 1 should be the same, and Checkpoint 3 should be different to Checkpoint 2 **Actual**: Checkpoint 3 is the same as Checkpoint 2 When you check the excel file, cells B3 and B5 look the same (both have the StyleB settings) even though they have different styles. ```python > pip3 show openpyxl Name: openpyxl Version: 3.0.9 Summary: A Python library to read/write Excel 2010 xlsx/xlsm files Home-page: https://openpyxl.readthedocs.io Author: See AUTHORS Author-email: charlie.clark@clark-consulting.eu License: MIT Location: /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages Requires: et-xmlfile Required-by: ```
issue