Вы имели в виду, установить заголовок ответа и затем выбросить HTML в браузер клиента?
MS Excel может обрабатывать HTML, но вы не можете хранить макрос VBA внутри HTML, поэтому простого способа добиться этого не существует.
Возможный обходной путь - создать HTML и установить ширину столбца равной значению, достаточному для отображения всего содержимого ячейки без переноса.
Чтобы помочь вам в этом, попробуйте сгенерировать рабочую книгу на рабочем столе компьютера, поместив текст и формат, аналогичный экспортируемому отчету, затем сохраните книгу в виде файла html, а затем посмотрите на сгенерированный код. За всем грязным автоматически генерируемым кодом CSS / HTML вы найдете несколько советов по улучшению HTML-таблицы. Например, посмотрите на этот фрагмент:
<meta name=ProgId content=Excel.Sheet>
<meta name=Generator content="Microsoft Excel 11">
Этим вы помогаете MS Excel идентифицировать ваш HTML-файл как лист. Теперь посмотрите в css внутри элемента, вы найдете несколько пользовательских селекторов, таких как col {mso-width-source:auto;}
. Попробуйте поиграть с его значениями, пока вы не будете удовлетворены результатами, а затем включите его в HTML.