In pyexcelerate/Range.py, there is a check to throw a "Row/Column index out of bounds" exception when row is over 65536 or column over 256.
So, when styling a range such as ws.range((2,2),(2,400000)).style.format = Format('dd/mm/yyyy'), it throws the exception.
If I'm not mistaken, those are old limitations from the 97/2000 xls format. The xlsx format supports up to 1048576 rows * 16384 columns.
I updated the values, and was able to style this big table.