Формат XLSX состоит из нескольких файлов XML, которые были заархивированы. Если формат вывода не изменится, было бы тривиально использовать существующий файл в качестве шаблона и просто добавлять в него строки по мере необходимости. К сожалению, ZipFile.writestr
не позволяет вам записать файл по частям, поэтому вам придется записать весь XML-файл во временный файл, а затем поместить его в zip с помощью ZipFile.write
.