Я сделал нечто подобное с PHPExcel
Хитрость заключается в том, чтобы взять отформатированные данные и найти шаблон. В вашем случае это, вероятно, строки таблицы / ячейки таблицы. Повторяйте эту структуру, устанавливая значения в ячейках Excel по мере продвижения. Для сложного форматирования вы можете просто заменить регулярное выражение на то, что необходимо для форматирования по вашему желанию. Теория может показаться немного сложной, но как только вы приступите к ней, это всего лишь час или два работы.
Конечно, есть эквивалентные программы, основанные на других серверных технологиях. Но этот сработал блестяще для меня на протяжении многих лет, и я верю, что он работает на сайтах для очень крупных клиентов с сумасшедшим количеством входящего трафика ... и он никогда не подводил. Это единственный надежный способ, который я нашел для написания превосходного, правильно отформатированного Excel, не требуя, чтобы пользователь перепрыгивал через обручи, чтобы получить определенный браузер.