Проблема в том, что html
не является ни xls
, ни xlsx
.
Для xls
как устаревший формат Excel пытается решить вашу проблему и проверить все поддерживаемые форматы:

Но xlsx
должно быть zip
с некоторыми xml
с, поэтому сообщение отличается:

Вы должны использовать соответствующую библиотеку для создания настоящих файлов Excel.