The online version of Office 365 seems to have stopped recognising colour and other formatting from openpyxl. A simple test case:
from openpyxl import Workbook
from openpyxl.styles import PatternFill
yellow = PatternFill(start_color='00FFFF00',
end_color='00FFFF00',
fill_type='solid')
wb = Workbook()
ws = wb.active
ws['A1'] = 1
ws['A1'].fill = yellow
wb.save('openpyxl_test.xlsx')
wb.close()
generates an Excel file with a yellow background to cell A1, containing a "1". This displays fine in the Excel app under Windows10, but open it in the online Office 365 version of Excel and the yellow is gone, never to return. This also happens if an existing Excel file is simply read-in and written-out through openpyxl: the stand-alone version of Excel has no problems with the result but the web version kills the colour. If the same file has not been through openpyxl then the web version displays it fine, with colour. This behaviour seems to be new (the last couple of days), as I've files from last week from openpyxl that online Excel digested fine. I feel I'm missing something, but can't think what. These tests are with openpyxl 3.0.5.
update: This seems to be account related and only with my work Office365 account. When others upload the identical file to the same folder, colour is preserved. That is: two users uploading the identical file to the same place results in different behaviour when it is opened by anyone. If I upload it to my personal Office365 OneDrive (also through the web interface) rather than work then it's fine too and colour is preserved. This only affects files that have at some point passed through openpyxl and that have been first opened after two days ago.