Все зависит от частоты задачи и ваших возможностей.
Для одного раза я бы конвертнул руками.
Если вам нужно конвертить часто или таблица более 1000 строк, то у вас варианты
- Сделать макросом, как вы сами написали
- Подцепить к одному из языков программирования, который знаете, и там уже генерить
- Прогнать XML формат, в который сохраняет Excel, через траснформацию XSLT и получить на выходе что нужно
Как делать уже зависит от языка. Я вполне успешно работал с таблицей через Node.js, например. Думаю такое также возможно на PHP, Ruby, Python. Короче везде есть, вариантов много, выбирайте сами.
P.S.
https://shancarter.github.io/mr-data-converter/ есть еще вот такой конвертер, можно попробовать через него
P.P.S. Можно сгенерировать разметку на соседнем листе и просто подставить данные. Наверное самый простой вариант.