действительно удалось создать файлы Excel, изменив тип содержимого для HTML-документа.
Ну, не совсем: вы создали файл HTML, который Excel, возможно, может проанализировать, и ошибочно объявил его как собственный файл Excel. (Я имею в виду не критиковать это - метод прекрасно работает в пределах своих ограничений - но если быть точным. :)
Насколько я знаю, это невозможно сделать для PDF. Вам придется сгенерировать файл PDF с помощью библиотеки или отправить страницу на принтер PDF на стороне клиента.