А еще важен здравый баланс затрачиваемых усилий. Жирную левую границу ячейки, конечно, можно нарисовать и из Аксапты (как и из Дельфи, например). А можно и из Аксапты заставить Дельфи нарисовать границу ячейки в Excel
Всегда стоит подумать, не существенно ли проще, например, заготовить вручную в Excel соответствующий шаблон с крутым форматированием, а потом многократно его использовать, выводя в него из Аксапты только лишь данные. Можно даже использовать исходный код VBA, записанный макрорекордером в родном Excel и вызываемый из Аксапты для исполнения в Excel же, т.е. без "перевода" кода с языка VBA на язык X++.
Позволю себе немножко поразглагольствовать на любимую тему. Форматирование таблицы Excel из Аксапты - это как бы задача второго эшелона, а первоочередное - собственно вывод данных. Т.е. когда данные отчета находятся уже в Excel, почему бы не поручить самому Excel по-привычному "по-родному" с ними разобраться. Причем, вряд ли Excel'ю потребуются еще какие-нибудь данные от Аксапты во время форматирования (чего не скажешь об Аксапте, которую для комфортной работы разработчика необходимо, например, "набить" макросами эксельных констант). В теме "Axapta программирует Excel на VBA" у меня была такая цитата:
Цитата:
Сообщение от
Gustav
...форматирование выводимого списка используется исключительно для того, чтобы продемонстрировать ЧТО-ЛИБО, выполняемое на коде VBA (а не классом Axapta). С таким же успехом в рамках примера можно было бы построить, например, в Excel развесистую сводную таблицу. Средствами самого же Excel, причем дальнейший перевод VBA-кода в код X++ не требуется
Изящно подобный подход демонстрирует
AndyD здесь:
Исследование скорости экспорта данных из Axapta в Excel (коллективный эксперимент). Т.е. я-то там (в "Axapta...на VBA") по неопытности тогдашней навернул какие-то таблицы для хранения кода (мечтал о том, что разработчики будут обмениваться наработками в таком формате

), а AndyD взял целую процедуру и в один стринг ее поместил. Вот фрагмент его кода, который я имею в виду:
X++:
s = strfmt( "sub OpenDemo()\n" +
" Workbooks.OpenText Filename:=\"%1\", Origin:=1251, StartRow:= 1, _\n" +
" DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, Tab:=True, _\n" +
" %2TrailingMinusNumbers:=True, _\n" +
" DecimalSeparator:=\",\", ThousandsSeparator:=\" \"\n" +
"End Sub", #fileName, getFields());
Т.е. взята VBA-шная процедура, записанная в Excel макрорекордером, подчищена и вставлена стрингом в код X++. Затраты времени - минимальные. И фактически используются естественные инструменты той среды "обитания", где происходит выполнение задачи.