Прямой ответ на ваш вопрос заключается в том, что вы не можете изменить формат уже записанной ячейки в Spreadsheet :: WriteExcel . Это запланированная функция для Excel :: Writer :: XLSX , но ее пока нет.
Так что вам нужно будет каким-то образом обойти это, например, буферизировать данные таблицы, пока вы не будете готовы записать их, или буферизовать строку за раз и записать ее только тогда, когда у вас есть новая строка.
Или вы можете включить compatibilityblilty_mode () и перезаписать последнюю строку новыми отформатированными данными. Обратите внимание, что этот подход не рекомендуется без compatibility_mode (), так как Excel будет жаловаться на дубликаты или отсутствующие данные в файле.
В качестве альтернативы, установка формата строки, как указано @bvr, может работать для вас.